67 lines
2.5 KiB
CMake
67 lines
2.5 KiB
CMake
# M1 demo 工作台:在 ADS 停靠的 QVTK 视图里渲染真实 ERT 网格剖面(#18)。
|
||
# 复用 spike S3 的 banded contour 管线 + Phase 1 core 的 ColorScale 上色。
|
||
|
||
find_package(VTK REQUIRED COMPONENTS
|
||
GUISupportQt
|
||
RenderingOpenGL2
|
||
RenderingVolumeOpenGL2
|
||
InteractionStyle
|
||
InteractionWidgets
|
||
FiltersGeometry
|
||
FiltersModeling
|
||
)
|
||
find_package(nlohmann_json CONFIG REQUIRED)
|
||
find_package(Qt6 REQUIRED COMPONENTS Svg)
|
||
|
||
add_executable(geopro_desktop WIN32
|
||
main.cpp
|
||
Theme.cpp
|
||
TopBar.cpp
|
||
Glyphs.cpp
|
||
PanelHeader.cpp
|
||
Credential.cpp
|
||
login/LoginWindow.cpp
|
||
panels/AnomalyListPanel.cpp
|
||
panels/DatasetListPanel.cpp
|
||
panels/ObjectTreePanel.cpp
|
||
panels/DynamicFormView.cpp
|
||
CentralScene.cpp
|
||
ProjectListDialog.cpp
|
||
SettingsDialog.cpp)
|
||
|
||
target_include_directories(geopro_desktop PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||
# QtKeychain 经 FetchContent 接入,头文件不随 target 传播,显式加源/构建目录(含生成的 export 头)。
|
||
target_include_directories(geopro_desktop PRIVATE ${qtkeychain_SOURCE_DIR} ${qtkeychain_BINARY_DIR})
|
||
|
||
target_link_libraries(geopro_desktop PRIVATE
|
||
Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Svg
|
||
${VTK_LIBRARIES}
|
||
ads::qt6advanceddocking
|
||
qt6keychain
|
||
nlohmann_json::nlohmann_json
|
||
geopro_core # Phase 1:ColorScale 上色
|
||
geopro_data # Phase 2:本地样本仓储(对象树 / 网格 / 色阶)
|
||
geopro_net # Phase 3:登录(验证码 + RSA + login2)
|
||
geopro_render # Phase 4:render 层(Scene / GridContourActor / 相机预设)
|
||
geopro_controller # Phase 5:导航编排(WorkbenchNavController)
|
||
)
|
||
|
||
vtk_module_autoinit(TARGETS geopro_desktop MODULES ${VTK_LIBRARIES})
|
||
|
||
if(WIN32)
|
||
add_custom_command(TARGET geopro_desktop POST_BUILD
|
||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||
$<TARGET_RUNTIME_DLLS:geopro_desktop> $<TARGET_FILE_DIR:geopro_desktop>
|
||
COMMAND_EXPAND_LISTS)
|
||
|
||
# 运行期 Qt 插件部署:platforms 必需;imageformats/iconengines 供 ElaWidgetTools 的 SVG 图标;
|
||
# styles 备用。从链接的 Qt6::Core 推导 Qt 安装的 plugins 目录,拷到 exe 旁(windeployqt 会被
|
||
# ADS 的非 Qt DLL 依赖卡住,故改为显式 copy)。
|
||
foreach(_pl platforms styles imageformats iconengines)
|
||
add_custom_command(TARGET geopro_desktop POST_BUILD
|
||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||
"$<TARGET_FILE_DIR:Qt6::Core>/../plugins/${_pl}"
|
||
"$<TARGET_FILE_DIR:geopro_desktop>/${_pl}")
|
||
endforeach()
|
||
endif()
|