# POC-B headless 度量 CLI(gpr_poc)。 # 串起:geopro_io_gpr(解析装配)→ geopro_core(建体)→ geopro_store(分块落盘/金字塔) # → geopro_render(WholeVolumeSource 整卷加载)。 # Windows 峰值内存用 Psapi(Probe.hpp)。 # VTK_LIBRARIES 在子作用域内由各 find_package 设定,这里显式再请求一次 # (与 geopro_render 同组件集),确保本 target 的 vtk_module_autoinit 可用。 find_package(VTK REQUIRED COMPONENTS CommonCore CommonDataModel RenderingCore RenderingOpenGL2 RenderingVolume RenderingVolumeOpenGL2 ImagingCore InteractionStyle GUISupportQt IOImage) add_executable(gpr_poc main.cpp) target_include_directories(gpr_poc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(gpr_poc PRIVATE geopro_io_gpr geopro_core geopro_store geopro_render) if(WIN32) target_link_libraries(gpr_poc PRIVATE Psapi) # 运行时 DLL(VTK/Qt/GDAL 等)拷到 exe 旁,使 gpr_poc.exe 可直接运行(无需手设 PATH)。 # 与 geopro_tests 同款 TARGET_RUNTIME_DLLS POST_BUILD。 add_custom_command(TARGET gpr_poc POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ COMMAND_EXPAND_LISTS) endif() target_compile_features(gpr_poc PRIVATE cxx_std_17) set_target_properties(gpr_poc PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF) # geopro_render 透传 VTK_LIBRARIES(PUBLIC),消费方需 autoinit 各 VTK 模块工厂, # 否则 vtkImageData/渲染对象工厂未注册。 vtk_module_autoinit(TARGETS gpr_poc MODULES ${VTK_LIBRARIES})