/
ArtemNech
/
simpleOpenGL
Обзор
Документация
Войти
/
ArtemNech
/
simpleOpenGL
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
devOpt
CMakeLists.txt
79 строк
2 KB
Artem Nechitaylenko
All objects are works and draggable
20 май 2026, 09:40
20 май 2026, 09:40
bf16523
Код
Авторство
О чём код?
cmake_minimum_required(VERSION 3.16) project(simpleOpenGL VERSION 0.1.0) find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OpenGL Svg OpenGLWidgets Test ) find_package(nlohmann_json 3.12.0 REQUIRED) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED OFF) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) option(BUILD_TESTS "Build unit tests" ON) include_directories(${CMAKE_SOURCE_DIR}) file(GLOB_RECURSE BACKEND backend/*.cpp backend/*.c backend/*.h ) file(GLOB_RECURSE GUI gui/*.cpp gui/*.h gui/*.qrc gui/*.ui ) file(GLOB_RECURSE TESTS tests/*.cpp tests/*.h ) add_executable(${PROJECT_NAME} main.cpp ${BACKEND} ${GUI} ) target_link_libraries(${PROJECT_NAME} Qt6::Core Qt6::Gui Qt6::Widgets Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Svg ${OPENGL_gl_LIBRARY} nlohmann_json::nlohmann_json ) # ==================== ТЕСТЫ ==================== if(BUILD_TESTS) target_compile_definitions(${PROJECT_NAME} PRIVATE ENABLE_TESTS) target_sources(${PROJECT_NAME} PRIVATE ${TESTS}) target_link_libraries(${PROJECT_NAME} Qt6::Test) else() target_sources(${PROJECT_NAME} PRIVATE ${TESTS}) target_link_libraries(${PROJECT_NAME} Qt6::Test) endif() if(APPLE) target_link_libraries(${PROJECT_NAME} "-framework OpenGL") endif() if(WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX ) endif()