zhjwpku opened a new pull request, #631:
URL: https://github.com/apache/iceberg-cpp/pull/631
Move data writers, deletes/, and puffin/ into a separate `iceberg_data`
library that links the existing `iceberg` target. `delete_file_index` stays in
`iceberg` because manifest_group embeds DeleteFileIndex::Builder with only core
dependencies.
* `iceberg` — unchanged target name for metadata/planning, expressions,
manifests, catalog (incl. in-memory), utilities, file I/O abstractions, and
delete_file_index.
* `iceberg_data` — data/, deletes/, puffin/; links `iceberg`.
`iceberg_bundle` links `iceberg_data` when the bundle is built.
`iceberg_rest` links `iceberg` and cpr only.
CMake: per-package `iceberg_install_cmake_package` installs
`iceberg-config.cmake`, `iceberg_data-config.cmake`, optional
`iceberg_bundle-config.cmake`, and matching `*-targets.cmake` under
`lib/cmake/<package>/`; install namespace remains `iceberg::`. Split
`find_dependency` lists so `iceberg` consumers do not pull
Arrow/Parquet/Avro/cpr. Vendored third-party exports are attached to the
package that owns them (core vs bundle vs rest). Add
`iceberg_rest-config.cmake.in` for the REST catalog package.
Meson and tests link the split targets; the example uses
`find_package(iceberg_bundle)` and `iceberg::iceberg_bundle_static`.
Symbol visibility: `iceberg_export.h` documents `ICEBERG_EXPORT` for the
main `iceberg` DLL; `iceberg_data_export.h` adds `ICEBERG_DATA_EXPORT` for
data-layer public APIs. Shared builds define `${UPPER_LIB_NAME}_EXPORTING`
(e.g. ICEBERG_DATA_EXPORTING) for MSVC. Types used across the boundary (e.g.
WriterProperties, Arrow guards) remain exported from `iceberg`.
--
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]