From a390bcf5cc6bba02d193e8707b49e7c9070c0390 Mon Sep 17 00:00:00 2001 From: Sreesh Maheshwar Date: Sun, 6 Sep 2026 22:59:24 +0100 Subject: [PATCH 1/2] fix: add bundled S3 platform link dependencies --- src/iceberg/iceberg-config.cmake.in | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/iceberg/iceberg-config.cmake.in b/src/iceberg/iceberg-config.cmake.in index 9a7bfbea4..cbe39fb95 100644 --- a/src/iceberg/iceberg-config.cmake.in +++ b/src/iceberg/iceberg-config.cmake.in @@ -38,6 +38,7 @@ @PACKAGE_INIT@ set(ICEBERG_BUILD_STATIC "@ICEBERG_BUILD_STATIC@") +set(ICEBERG_S3 "@ICEBERG_S3@") set(ICEBERG_SYSTEM_DEPENDENCIES "@ICEBERG_SYSTEM_DEPENDENCIES@") # Extra args forwarded to find_dependency() for specific dependencies. @@ -102,6 +103,31 @@ if(TARGET iceberg::arrow_static) "${arrow_lib_dir}/${CMAKE_STATIC_LIBRARY_PREFIX}arrow_bundled_dependencies${CMAKE_STATIC_LIBRARY_SUFFIX}" ) endforeach() + + # Arrow's bundled AWS libraries require platform-specific system libraries. + if(ICEBERG_S3) + if(APPLE) + find_library(CORE_FOUNDATION CoreFoundation) + target_link_libraries(Arrow::arrow_bundled_dependencies + INTERFACE ${CORE_FOUNDATION}) + find_library(SECURITY Security) + target_link_libraries(Arrow::arrow_bundled_dependencies + INTERFACE ${SECURITY}) + find_library(NETWORK Network) + target_link_libraries(Arrow::arrow_bundled_dependencies + INTERFACE ${NETWORK}) + elseif(WIN32) + target_link_libraries(Arrow::arrow_bundled_dependencies + INTERFACE "winhttp.lib" + "bcrypt.lib" + "wininet.lib" + "userenv.lib" + "version.lib" + "ncrypt.lib" + "Secur32.lib" + "Shlwapi.lib") + endif() + endif() endif() if(TARGET iceberg::parquet_static) From 75a34430599c507920f535f37a837a2f49903928 Mon Sep 17 00:00:00 2001 From: Sreesh Maheshwar Date: Sun, 6 Sep 2026 23:06:47 +0100 Subject: [PATCH 2/2] fix: guard links on bundled AWS SDK --- src/iceberg/iceberg-config.cmake.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/iceberg/iceberg-config.cmake.in b/src/iceberg/iceberg-config.cmake.in index cbe39fb95..1c784e3da 100644 --- a/src/iceberg/iceberg-config.cmake.in +++ b/src/iceberg/iceberg-config.cmake.in @@ -38,7 +38,7 @@ @PACKAGE_INIT@ set(ICEBERG_BUILD_STATIC "@ICEBERG_BUILD_STATIC@") -set(ICEBERG_S3 "@ICEBERG_S3@") +set(ICEBERG_AWSSDK_BUNDLED "@ICEBERG_AWSSDK_BUNDLED@") set(ICEBERG_SYSTEM_DEPENDENCIES "@ICEBERG_SYSTEM_DEPENDENCIES@") # Extra args forwarded to find_dependency() for specific dependencies. @@ -105,7 +105,7 @@ if(TARGET iceberg::arrow_static) endforeach() # Arrow's bundled AWS libraries require platform-specific system libraries. - if(ICEBERG_S3) + if(ICEBERG_AWSSDK_BUNDLED) if(APPLE) find_library(CORE_FOUNDATION CoreFoundation) target_link_libraries(Arrow::arrow_bundled_dependencies