59 lines
2.6 KiB
CMake
59 lines
2.6 KiB
CMake
# =====================================================================
|
||
# geopro_gpr3dv —— vendored 3DGPRViewer 数据生成链(原样拷贝,算法零改动)
|
||
#
|
||
# 链路:多通道 _Axx.iprh/.iprb
|
||
# → IprhParser::loadImpulseMultiChannel → GPRDataModel(traces)
|
||
# → GPRDataModel::buildVolumeData → volumeData[ch][trace][sample]
|
||
# → RadarProcessor::runPipeline → 处理后 GPRDataModel
|
||
#
|
||
# 版权属用户(lanbingtech 自有),可拷入本仓库 vendored 隔离。
|
||
# 仅链 Qt6::Core(QVector/QString/QFile/QVector3D/QJson)+ OpenMP + kissfft。
|
||
# 不含 UI/Sql/Network(这些在原版属 GPRWidget/mainwindow,未拷)。
|
||
# =====================================================================
|
||
|
||
# 根工程仅 enable CXX;kissfft 是 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 等)+ kissfft(RadarProcessor.cpp 内 #include "kiss_fftr.h")。
|
||
target_include_directories(geopro_gpr3dv PUBLIC
|
||
${CMAKE_CURRENT_SOURCE_DIR}
|
||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/kissfft
|
||
)
|
||
|
||
# Qt6::Gui 为 QVector3D(GPRDataModel.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()
|