zhjwpku opened a new pull request, #628: URL: https://github.com/apache/iceberg-cpp/pull/628
Replace the monolithic `iceberg` library with two targets: * `iceberg-core` — schema/types/partition/sort/transform, table/snapshot/ metadata/transactions/updates, manifest handling, expressions, catalog (including in-memory), utilities, file I/O abstractions, and `delete_file_index` (kept in core because `manifest_group` holds `DeleteFileIndex::Builder` by value and only depends on core types). * `iceberg-data` — `data/`, `deletes/`, `puffin/`; publicly links `iceberg-core`. `iceberg_bundle` links `iceberg-data`; `iceberg_rest` links `iceberg-core` only. There is no umbrella `iceberg` compatibility target. CMake: optional `EXPORT_NAME` on `add_iceberg_lib`; hyphenated target names map to `ICEBERG_*_EXPORTING` via underscore substitution for MSVC. Per-package `iceberg_install_cmake_package` installs `iceberg-core-config.cmake`, `iceberg-data-config.cmake`, and matching `*-targets.cmake` under `lib/cmake/<package>/`; install namespace remains `iceberg::` (e.g. `iceberg::iceberg-core_static`). Vendored third-party installs are routed to the export set that owns them (core vs bundle vs rest). System `find_dependency` lists are split per package so `iceberg-core` consumers do not pull Arrow/Parquet/Avro/cpr. Symbol visibility: `iceberg_export.h` defines `ICEBERG_CORE_EXPORT` / `ICEBERG_EXPORT` (core-only toggles); `iceberg_data_export.h` defines `ICEBERG_DATA_EXPORT` for data-layer public APIs. Cross-boundary symbols used from data (`WriterProperties`, `ArrowArrayGuard`, `ArrowSchemaGuard`) are exported from core. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
