@@ -78,6 +78,7 @@ set(ICEBERG_SOURCES
7878
7979set (ICEBERG_STATIC_BUILD_INTERFACE_LIBS)
8080set (ICEBERG_SHARED_BUILD_INTERFACE_LIBS)
81+ set (ICEBERG_SHARED_PRIVATE_BUILD_INTERFACE_LIBS)
8182set (ICEBERG_STATIC_INSTALL_INTERFACE_LIBS)
8283set (ICEBERG_SHARED_INSTALL_INTERFACE_LIBS)
8384
@@ -88,22 +89,22 @@ list(APPEND
8889 roaring::roaring
8990 spdlog::spdlog
9091 ZLIB::ZLIB)
92+ list (APPEND ICEBERG_SHARED_BUILD_INTERFACE_LIBS nanoarrow::nanoarrow_shared)
9193list (APPEND
92- ICEBERG_SHARED_BUILD_INTERFACE_LIBS
93- nanoarrow::nanoarrow_shared
94+ ICEBERG_SHARED_PRIVATE_BUILD_INTERFACE_LIBS
9495 nlohmann_json::nlohmann_json
9596 roaring::roaring
9697 spdlog::spdlog
9798 ZLIB::ZLIB)
9899list (APPEND
99100 ICEBERG_STATIC_INSTALL_INTERFACE_LIBS
100- "$<IF:$<BOOL:${NANOARROW_VENDORED} >,iceberg::nanoarrow_static,$<IF:$<TARGET_EXISTS: nanoarrow::nanoarrow_static>,nanoarrow::nanoarrow_static,nanoarrow::nanoarrow_shared> >"
101+ "$<IF:$<BOOL:${NANOARROW_VENDORED} >,iceberg::nanoarrow_static,nanoarrow::nanoarrow_static>"
101102 "$<IF:$<BOOL:${NLOHMANN_JSON_VENDORED} >,iceberg::nlohmann_json,nlohmann_json::nlohmann_json>"
102103 "$<IF:$<BOOL:${CROARING_VENDORED} >,iceberg::roaring,roaring::roaring>"
103104 "$<IF:$<BOOL:${SPDLOG_VENDORED} >,iceberg::spdlog,spdlog::spdlog>" )
104105list (APPEND
105106 ICEBERG_SHARED_INSTALL_INTERFACE_LIBS
106- "$<IF:$<BOOL:${NANOARROW_VENDORED} >,iceberg::nanoarrow_shared,$<IF:$<TARGET_EXISTS: nanoarrow::nanoarrow_shared>,nanoarrow::nanoarrow_shared,nanoarrow::nanoarrow_static> >"
107+ "$<IF:$<BOOL:${NANOARROW_VENDORED} >,iceberg::nanoarrow_shared,nanoarrow::nanoarrow_shared>"
107108 "$<IF:$<BOOL:${NLOHMANN_JSON_VENDORED} >,iceberg::nlohmann_json,nlohmann_json::nlohmann_json>"
108109 "$<IF:$<BOOL:${CROARING_VENDORED} >,iceberg::roaring,roaring::roaring>"
109110 "$<IF:$<BOOL:${SPDLOG_VENDORED} >,iceberg::spdlog,spdlog::spdlog>" )
@@ -115,6 +116,8 @@ add_iceberg_lib(iceberg
115116 ${ICEBERG_INCLUDES}
116117 SHARED_LINK_LIBS
117118 ${ICEBERG_SHARED_BUILD_INTERFACE_LIBS}
119+ SHARED_PRIVATE_LINK_LIBS
120+ ${ICEBERG_SHARED_PRIVATE_BUILD_INTERFACE_LIBS}
118121 STATIC_LINK_LIBS
119122 ${ICEBERG_STATIC_BUILD_INTERFACE_LIBS}
120123 STATIC_INSTALL_INTERFACE_LIBS
@@ -149,44 +152,42 @@ if(ICEBERG_BUILD_BUNDLE)
149152 # Libraries to link with exported libiceberg_bundle.{so,a}.
150153 set (ICEBERG_BUNDLE_STATIC_BUILD_INTERFACE_LIBS)
151154 set (ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS)
155+ set (ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS)
152156 set (ICEBERG_BUNDLE_STATIC_INSTALL_INTERFACE_LIBS)
153157 set (ICEBERG_BUNDLE_SHARED_INSTALL_INTERFACE_LIBS)
154158
155159 list (APPEND
156160 ICEBERG_BUNDLE_STATIC_BUILD_INTERFACE_LIBS
157- "$<IF:$<TARGET_EXISTS: iceberg_static>,iceberg_static,iceberg_shared>"
158- "$<IF:$<TARGET_EXISTS: Arrow::arrow_static>,Arrow::arrow_static,Arrow::arrow_shared>"
159- "$<IF:$<TARGET_EXISTS: Parquet::parquet_static>,Parquet::parquet_static,Parquet::parquet_shared>"
160- "$<IF:$<TARGET_EXISTS: avro-cpp::avrocpp_static>,avro-cpp::avrocpp_static,avro-cpp::avrocpp_shared>"
161- )
161+ iceberg_static
162+ Arrow::arrow_static
163+ Parquet::parquet_static
164+ avro-cpp::avrocpp_static)
165+ list ( APPEND ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS iceberg_shared )
162166 list (APPEND
163- ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS
164- "$<IF:$<TARGET_EXISTS:iceberg_shared>,iceberg_shared,iceberg_static>"
165- "$<IF:$<TARGET_EXISTS:Arrow::arrow_shared>,Arrow::arrow_shared,Arrow::arrow_static>"
166- "$<IF:$<TARGET_EXISTS:Parquet::parquet_shared>,Parquet::parquet_shared,Parquet::parquet_static>"
167- "$<IF:$<TARGET_EXISTS:avro-cpp::avrocpp_shared>,avro-cpp::avrocpp_shared,avro-cpp::avrocpp_static>"
168- )
169-
167+ ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS
168+ Arrow::arrow_static
169+ Parquet::parquet_static
170+ avro-cpp::avrocpp_static)
170171 list (APPEND
171172 ICEBERG_BUNDLE_STATIC_INSTALL_INTERFACE_LIBS
172- "$<IF:$<TARGET_EXISTS:iceberg::iceberg_static>,iceberg::iceberg_static,iceberg::iceberg_shared>"
173- "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::arrow_static,$<IF:$<TARGET_EXISTS:Arrow::arrow_static>,Arrow::arrow_static,Arrow::arrow_shared>>"
174- "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::parquet_static,$<IF:$<TARGET_EXISTS:Parquet::parquet_static>,Parquet::parquet_static,Parquet::parquet_shared>>"
175- "$<IF:$<BOOL:${AVRO_VENDORED} >,iceberg::avrocpp_s,$<IF:$<TARGET_EXISTS:avro-cpp::avrocpp_static>,avro-cpp::avrocpp_static,avro-cpp::avrocpp_shared>>"
176- )
173+ iceberg::iceberg_static
174+ "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::arrow_static,Arrow::arrow_static>"
175+ "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::parquet_static,Parquet::parquet_static>"
176+ "$<IF:$<BOOL:${AVRO_VENDORED} >,iceberg::avrocpp_s,avro-cpp::avrocpp_static>" )
177177 list (APPEND
178178 ICEBERG_BUNDLE_SHARED_INSTALL_INTERFACE_LIBS
179- "$<IF:$<TARGET_EXISTS:iceberg::iceberg_shared>,iceberg::iceberg_shared,iceberg::iceberg_static>"
180- "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::arrow_static,$<IF:$<TARGET_EXISTS:Arrow::arrow_shared>,Arrow::arrow_shared,Arrow::arrow_static>>"
181- "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::parquet_static,$<IF:$<TARGET_EXISTS:Parquet::parquet_shared>,Parquet::parquet_shared,Parquet::parquet_static>>"
182- "$<IF:$<BOOL:${AVRO_VENDORED} >,iceberg::avrocpp_s,$<IF:$<TARGET_EXISTS:avro-cpp::avrocpp_shared>,avro-cpp::avrocpp_shared,avro-cpp::avrocpp_static>>"
183- )
179+ iceberg::iceberg_shared
180+ "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::arrow_static,Arrow::arrow_static>"
181+ "$<IF:$<BOOL:${ARROW_VENDORED} >,iceberg::parquet_static,Parquet::parquet_static>"
182+ "$<IF:$<BOOL:${AVRO_VENDORED} >,iceberg::avrocpp_s,avro-cpp::avrocpp_static>" )
184183
185184 add_iceberg_lib(iceberg_bundle
186185 SOURCES
187186 ${ICEBERG_BUNDLE_SOURCES}
188187 SHARED_LINK_LIBS
189188 ${ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS}
189+ SHARED_PRIVATE_LINK_LIBS
190+ ${ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS}
190191 STATIC_LINK_LIBS
191192 ${ICEBERG_BUNDLE_STATIC_BUILD_INTERFACE_LIBS}
192193 STATIC_INSTALL_INTERFACE_LIBS
0 commit comments