shangxinli commented on code in PR #989:
URL: https://github.com/apache/iceberg-cpp/pull/989#discussion_r4274101842
##########
cmake_modules/IcebergThirdpartyToolchain.cmake:
##########
@@ -216,6 +245,18 @@ function(resolve_arrow_dependency)
fetchcontent_makeavailable(VendoredArrow)
+ # Arrow's Parquet targets do not inherit the OpenSSL include directory when
+ # Arrow is vendored; add it for the Parquet encryption sources. Depending on
the
+ # platform and build type, they are compiled in the object library or
directly in
+ # the static/shared library. The bundle library links OpenSSL::Crypto.
+ if(ICEBERG_ENCRYPTION)
+ foreach(parquet_target parquet_objlib parquet_static parquet_shared)
+ if(TARGET ${parquet_target})
+ target_include_directories(${parquet_target} PRIVATE
${OPENSSL_INCLUDE_DIR})
Review Comment:
Moved the loop inside the vendoredarrow_SOURCE_DIR branch and it now skips
any target whose ALIASED_TARGET property is set, so a parent project's
system-Parquet aliases are left alone.
##########
CMakeLists.txt:
##########
@@ -41,6 +41,8 @@ option(ICEBERG_BUILD_SHARED "Build shared library" OFF)
option(ICEBERG_BUILD_TESTS "Build tests" ON)
option(ICEBERG_BUILD_BENCHMARKS "Build benchmarks" OFF)
option(ICEBERG_BUILD_BUNDLE "Build the battery included library" ON)
+option(ICEBERG_ENCRYPTION
+ "Build table encryption support (Parquet modular encryption, AES GCM
streams)" ON)
Review Comment:
Defaulted it to OFF. To keep the path covered I set
ICEBERG_EXTRA_CMAKE_ARGS=-DICEBERG_ENCRYPTION=ON on the Ubuntu job (builds and
runs parquet_encryption_test) and on the macOS job, since the Homebrew keg-only
OpenSSL lookup only runs there and would otherwise lose all coverage.
--
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]