36 lines
1.2 KiB
CMake
36 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.21)
|
||
project(geopro_desktop LANGUAGES CXX)
|
||
|
||
# ---- Global C++ settings (规约 §3.2: C++17, 可渐进 C++20) ----
|
||
set(CMAKE_CXX_STANDARD 17)
|
||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||
|
||
# Qt 自动工具(仅 view/app 层需要 moc/uic/rcc)
|
||
set(CMAKE_AUTOMOC ON)
|
||
set(CMAKE_AUTORCC ON)
|
||
set(CMAKE_AUTOUIC ON)
|
||
|
||
if(MSVC)
|
||
add_compile_options(/utf-8 /MP /W4 /permissive-)
|
||
endif()
|
||
|
||
# ---- Dependencies(全 vcpkg;见 vcpkg.json / docs/ENV_SETUP_Windows.md)----
|
||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Network Sql Concurrent)
|
||
find_package(VTK REQUIRED) # 含 GUISupportQt(vtk[qt])→ QVTKOpenGLStereoWidget
|
||
# 以下依赖随分层逐步启用(spike 后接入业务层):
|
||
# find_package(GDAL CONFIG REQUIRED)
|
||
# find_package(PROJ CONFIG REQUIRED)
|
||
# find_package(Eigen3 CONFIG REQUIRED)
|
||
# find_package(spdlog CONFIG REQUIRED)
|
||
# find_package(nlohmann_json CONFIG REQUIRED)
|
||
# find_package(OpenSSL REQUIRED)
|
||
# find_package(Qt6Keychain CONFIG REQUIRED)
|
||
# find_package(qtadvanceddocking-qt6 CONFIG REQUIRED) # ADS, spike#2 接入(端口名以实际为准)
|
||
|
||
add_subdirectory(src)
|
||
|
||
enable_testing()
|
||
add_subdirectory(tests)
|