geopro/external/gpr3dviewer/CMakeLists.txt

59 lines
2.6 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# =====================================================================
# geopro_gpr3dv —— vendored 3DGPRViewer 数据生成链(原样拷贝,算法零改动)
#
# 链路:多通道 _Axx.iprh/.iprb
# → IprhParser::loadImpulseMultiChannel → GPRDataModeltraces
# → GPRDataModel::buildVolumeData → volumeData[ch][trace][sample]
# → RadarProcessor::runPipeline → 处理后 GPRDataModel
#
# 版权属用户lanbingtech 自有),可拷入本仓库 vendored 隔离。
# 仅链 Qt6::CoreQVector/QString/QFile/QVector3D/QJson+ OpenMP + kissfft。
# 不含 UI/Sql/Network这些在原版属 GPRWidget/mainwindow未拷
# =====================================================================
# 根工程仅 enable CXXkissfft 是 C 源kiss_fft.c/kiss_fftr.c需显式启用 C 语言,
# 否则 .c 文件被 CMake 忽略,导致 kiss_fftr/kiss_fftr_alloc 链接缺失。
enable_language(C)
find_package(OpenMP)
add_library(geopro_gpr3dv STATIC
IprhParser.cpp
ImpulseMultiChannelConverter.cpp
Rd3Parser.cpp
RadarProcessor.cpp
PerformanceLogger.cpp
# P8 测绘级精确坐标:原样拷自 3DGPRViewer算法零改动diff 逐字节一致)。
# CoordinateTransform —— CGCS2000 高斯-克吕格 3°带正反算零 Qt
# TrajectoryCalculator —— RTK GPS + 天线几何 → 每通道每道 CGCS 世界坐标。
# CScanGridder —— 世界坐标逐深度 IDW 网格化 C-scan堆成世界对齐体
# PosParser —— .pos / center.ccc GPS 解析。
CoordinateTransform.cpp
TrajectoryCalculator.cpp
CScanGridder.cpp
PosParser.cpp
third_party/kissfft/kiss_fft.c
third_party/kissfft/kiss_fftr.c
)
# 头文件目录本目录GPRDataModel.h 等)+ kissfftRadarProcessor.cpp 内 #include "kiss_fftr.h")。
target_include_directories(geopro_gpr3dv PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/third_party/kissfft
)
# Qt6::Gui 为 QVector3DGPRDataModel.h 的道三维位置所需Core 提供 QVector/QString/QFile/QJson。
target_link_libraries(geopro_gpr3dv PUBLIC Qt6::Core Qt6::Gui)
if(OpenMP_CXX_FOUND)
target_link_libraries(geopro_gpr3dv PUBLIC OpenMP::OpenMP_CXX)
endif()
target_compile_features(geopro_gpr3dv PRIVATE cxx_std_17)
# vendored 第三方代码:关 Qt 自动工具(无 QObject/moc 需求),并放宽告警(不改算法、不为告警动代码)。
set_target_properties(geopro_gpr3dv PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF)
if(MSVC)
target_compile_options(geopro_gpr3dv PRIVATE /W0)
endif()