geopro/external/gpr3dviewer/CMakeLists.txt

50 lines
2.1 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
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()