cmake_minimum_required(VERSION 3.16) project(DRAWer_2_0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # PlaneGCS PART set(PlaneGCS_project_name "PlaneGCS") set(INCLUDE_BOOST_DIR "C:/local/boost_1_89_0") set(INCLUDE_EIGEN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/eigen) add_library(${PlaneGCS_project_name} STATIC GCS/GCS.cpp GCS/SubSystem.cpp GCS/Constraints.cpp GCS/Geo.cpp GCS/qp_eq.cpp ) target_include_directories(${PlaneGCS_project_name} PUBLIC ${INCLUDE_BOOST_DIR} ${INCLUDE_EIGEN_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/GCS/headers ) target_link_libraries(${PlaneGCS_project_name} PUBLIC Qt::Gui ) target_compile_features(${PlaneGCS_project_name} PUBLIC cxx_std_20) # DRAWer 2_0 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Gui Widgets) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Widgets) qt_standard_project_setup() qt_add_executable(${PROJECT_NAME} src/main.cpp src/DRAWer_2_0.cpp src/DRAWer_2_0.ui src/Canvas.cpp include/DRAWer_2_0.h include/Canvas.h ) # Добавляем путь к src/ для поиска .ui файла (обходит AutoUic ошибку) set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/src) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/GCS ${CMAKE_CURRENT_BINARY_DIR} ) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE ) target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets ${PlaneGCS_project_name} )