Files
radar_data_process/third_party/ormpp/UPSTREAM.md
T
waiwaylee a4f32e4036 更新:1、新增数据记录功能,将过程数据录入数据库;
2、增加输入点迹数据、凝聚后点迹数据记录;

Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
2026-09-30 09:02:28 +08:00

3.6 KiB
Raw Blame History

第三方库来源说明(ormpp / iguana / SQLite)

本目录为按上游原样内置的第三方源码(保留上游字节,含换行符,不做编码/格式转换),与源码目录下内置的 Eigen 3.3.7 同类处理:仓库自带依赖,离线可配置、可交付。

内容 本目录位置 上游 版本 / 标识
ormpp(Modern C++ ORM 头文件库) ormpp/*.hpp https://github.com/qicosmos/ormpp commit acf23989f8e40f2c8671eaf209d014164f2d6319(master,2026-08-29);ormpp/version.hpp = 0.2.0
iguana(编译期反射,随 ormpp 内置) iguana/** 随 ormpp 内置;独立仓库 https://github.com/qicosmos/iguana iguana/version.hpp = 1.0.5
SQLite amalgamation thirdparty/sqlite3/{sqlite3.c,sqlite3.h,sqlite3ext.h} 随 ormpp 内置;https://sqlite.org SQLite 3.49.1(sqlite3.h 的 SQLITE_VERSION),公共领域(Public Domain)
frozen(iguana 的 constexpr 容器依赖,随 ormpp 内置) frozen/** 随 ormpp 内置;独立仓库 https://github.com/serge-sans-paille/frozen 18 个文件 / 86,136 字节(iguana/field_reflection.hpp 需要 frozen/string.h、frozen/unordered_map.h)
许可证 LICENSE、iguana/LICENSE — 均为 Apache License 2.0;与上游 git blob 逐字节一致(261eeb9e… / 8dada3ed…)

复现步骤(重新获取/升级时执行)

git -c core.autocrlf=false clone --depth 1 https://github.com/qicosmos/ormpp.git <tmp-ormpp>
git -c core.autocrlf=false clone --depth 1 https://github.com/qicosmos/iguana.git <tmp-iguana>

:: 仅拷贝以下内容到本目录(其余 tests/example/cfg/docs/lang/shell.c 等均不需要):
::   <tmp-ormpp>\ormpp\*.hpp + ormpp\pg_types.h                  -> third_party\ormpp\ormpp\
::   <tmp-ormpp>\iguana\                                       -> third_party\ormpp\iguana\
::   <tmp-ormpp>\frozen\                                       -> third_party\ormpp\frozen\      (iguana 依赖)
::   <tmp-ormpp>\thirdparty\sqlite3\sqlite3.c|sqlite3.h|sqlite3ext.h -> third_party\ormpp\thirdparty\sqlite3\
::   <tmp-ormpp>\LICENSE                                       -> third_party\ormpp\LICENSE
::   <tmp-iguana>\LICENSE                                      -> third_party\ormpp\iguana\LICENSE

注意:本机全局 core.autocrlf=true 会把源码转成 CRLF(sqlite3.c 由 9,461,193 字节变为 9,728,476 字节),因此克隆时必须显式 -c core.autocrlf=false。校验方式:与上游 blob 大小比对(sqlite3.c = 9,461,193、dbng.hpp = 11,681、iguana/common.hpp = 45,850)。

使用方式与约束

  • 只被可选目标 rdp_record 使用(见根目录 CMakeLists.txt 的 RDP_DATA_RECORD 选项);该目标以 C++20 编译(ormpp 的 cmake/build.cmake 强制 CMAKE_CXX_STANDARD 20),雷达处理代码仍为 C++17。
  • 包含路径按上游约定给全(4 个):third_party/ormpp(iguana/...)、third_party/ormpp/iguana、third_party/ormpp/ormpp(dbng.hpp、sqlite.hpp)、third_party/ormpp/thirdparty/sqlite3(sqlite3.h)。
  • 告警处理:sqlite3.c 以 /w 单独编译;首个包含第三方头的本项目文件(data_process_class_dll/rdp_record.cpp)用 #pragma warning(push, 0) / (pop) 隔离模板告警——这两处是 README 4.5「0 告警」的唯一例外,范围仅限本目录代码。
  • 升级方式:整目录替换为新的上游快照,同步更新本文件的 commit / 版本号 / blob 校验值,然后必须重新验证:-DRDP_DATA_RECORD=ON 构建通过(0 告警)+ 记录功能写入校验(见 docs/data_record_debug.md)。