cmake_minimum_required(VERSION 3.10) project(BIPY_Project) # Настройки стандарта C++ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(OpenGL_GL_PREFERENCE GLVND) # 1. ОТКЛЮЧАЕМ проверки нативных платформ ImGui (исправляет ошибку glfwGetX11Display) add_definitions(-DIMGUI_DISABLE_X11) add_definitions(-DIMGUI_DISABLE_WAYLAND) # 2. Поиск необходимых системных библиотек find_package(glfw3 REQUIRED) find_package(OpenGL REQUIRED) find_package(OpenMP REQUIRED) find_package(Vulkan REQUIRED) # 3. Список всех исходных файлов (Ядро + GUI + ImGui) set(SOURCES main.cpp Xenith/core.cpp Xenith/token/token.cpp imgui/imgui.cpp imgui/imgui_draw.cpp imgui/imgui_widgets.cpp imgui/imgui_tables.cpp imgui/imgui_demo.cpp imgui/backends/imgui_impl_glfw.cpp imgui/backends/imgui_impl_opengl3.cpp ) # 4. Создание исполняемого файла add_executable(BIPY_App ${SOURCES}) # 5. Подключение папок с заголовками target_include_directories(BIPY_App PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Xenith ${CMAKE_CURRENT_SOURCE_DIR}/Xenith/token ${CMAKE_CURRENT_SOURCE_DIR}/imgui ${CMAKE_CURRENT_SOURCE_DIR}/imgui/backends ) # 6. Линковка библиотек # Добавлены X11 и dl для стабильности в Linux target_link_libraries(BIPY_App PRIVATE glfw OpenGL::GL Vulkan::Vulkan OpenMP::OpenMP_CXX X11 dl pthread )