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)