65 lines
1.7 KiB
CMake
65 lines
1.7 KiB
CMake
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/Canvas.cpp
|
|
include/DRAWer_2_0.h
|
|
include/Canvas.h
|
|
forms/DRAWer_2_0.ui
|
|
)
|
|
|
|
# Добавляем путь к src/ для поиска .ui файла (обходит AutoUic ошибку)
|
|
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/forms)
|
|
|
|
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}
|
|
) |