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}/eigen-5.0.0) 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 set(PROJECT_SOURCES main.cpp DRAWer_2_0.ui DRAWer_2_0.cpp Canvas.cpp ) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets ) qt_standard_project_setup() qt_add_executable(${PROJECT_NAME} ${PROJECT_SOURCES}) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE ) target_link_libraries(${PROJECT_NAME} PUBLIC Qt::Core Qt::Gui Qt::Widgets PRIVATE ${PlaneGCS_project_name} )