Skip to content

Commit 9a9b502

Browse files
committed
use SHARED_PRIVATE_LINK_LIBS
1 parent 4b52408 commit 9a9b502

File tree

4 files changed

+46
-38
lines changed

4 files changed

+46
-38
lines changed

src/iceberg/CMakeLists.txt

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ set(ICEBERG_SOURCES
7878

7979
set(ICEBERG_STATIC_BUILD_INTERFACE_LIBS)
8080
set(ICEBERG_SHARED_BUILD_INTERFACE_LIBS)
81+
set(ICEBERG_SHARED_PRIVATE_BUILD_INTERFACE_LIBS)
8182
set(ICEBERG_STATIC_INSTALL_INTERFACE_LIBS)
8283
set(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)
9193
list(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)
9899
list(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>")
104105
list(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

src/iceberg/catalog/rest/CMakeLists.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,26 @@ set(ICEBERG_REST_SOURCES rest_catalog.cc json_internal.cc)
1919

2020
set(ICEBERG_REST_STATIC_BUILD_INTERFACE_LIBS)
2121
set(ICEBERG_REST_SHARED_BUILD_INTERFACE_LIBS)
22+
set(ICEBERG_REST_SHARED_PRIVATE_BUILD_INTERFACE_LIBS)
2223
set(ICEBERG_REST_STATIC_INSTALL_INTERFACE_LIBS)
2324
set(ICEBERG_REST_SHARED_INSTALL_INTERFACE_LIBS)
2425

25-
list(APPEND ICEBERG_REST_STATIC_BUILD_INTERFACE_LIBS
26-
"$<IF:$<TARGET_EXISTS:iceberg_static>,iceberg_static,iceberg_shared>" cpr::cpr)
27-
list(APPEND ICEBERG_REST_SHARED_BUILD_INTERFACE_LIBS
28-
"$<IF:$<TARGET_EXISTS:iceberg_shared>,iceberg_shared,iceberg_static>" cpr::cpr)
29-
list(APPEND
30-
ICEBERG_REST_STATIC_INSTALL_INTERFACE_LIBS
31-
"$<IF:$<TARGET_EXISTS:iceberg::iceberg_static>,iceberg::iceberg_static,iceberg::iceberg_shared>"
26+
list(APPEND ICEBERG_REST_STATIC_BUILD_INTERFACE_LIBS iceberg_static cpr::cpr)
27+
list(APPEND ICEBERG_REST_SHARED_BUILD_INTERFACE_LIBS iceberg_shared)
28+
list(APPEND ICEBERG_REST_SHARED_PRIVATE_BUILD_INTERFACE_LIBS cpr::cpr
29+
nlohmann_json::nlohmann_json)
30+
list(APPEND ICEBERG_REST_STATIC_INSTALL_INTERFACE_LIBS iceberg_static
3231
"$<IF:$<BOOL:${CPR_VENDORED}>,iceberg::cpr,cpr::cpr>")
33-
list(APPEND
34-
ICEBERG_REST_SHARED_INSTALL_INTERFACE_LIBS
35-
"$<IF:$<TARGET_EXISTS:iceberg::iceberg_shared>,iceberg::iceberg_shared,iceberg::iceberg_static>"
32+
list(APPEND ICEBERG_REST_SHARED_INSTALL_INTERFACE_LIBS iceberg_shared
3633
"$<IF:$<BOOL:${CPR_VENDORED}>,iceberg::cpr,cpr::cpr>")
3734

3835
add_iceberg_lib(iceberg_rest
3936
SOURCES
4037
${ICEBERG_REST_SOURCES}
4138
SHARED_LINK_LIBS
4239
${ICEBERG_REST_SHARED_BUILD_INTERFACE_LIBS}
40+
SHARED_PRIVATE_LINK_LIBS
41+
${ICEBERG_REST_SHARED_PRIVATE_BUILD_INTERFACE_LIBS}
4342
STATIC_LINK_LIBS
4443
${ICEBERG_REST_STATIC_BUILD_INTERFACE_LIBS}
4544
STATIC_INSTALL_INTERFACE_LIBS

src/iceberg/catalog/rest/rest_catalog.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class ICEBERG_REST_EXPORT RestCatalog {
3030
explicit RestCatalog(const std::string& base_url);
3131
~RestCatalog() = default;
3232

33+
// TODO(zehua.zou): cpr should be wrapped.
3334
cpr::Response GetConfig();
3435

3536
cpr::Response ListNamespaces();

src/iceberg/test/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,12 @@ function(add_iceberg_test test_name)
5353
target_link_libraries(${test_name} PRIVATE GTest::gtest_main GTest::gmock)
5454

5555
if("${ICEBERG_TEST_LINKAGE}" STREQUAL "shared")
56+
target_link_libraries(${test_name} PRIVATE nlohmann_json::nlohmann_json
57+
roaring::roaring)
5658
if(ARG_USE_BUNDLE)
57-
target_link_libraries(${test_name} PRIVATE iceberg_bundle_shared)
59+
target_link_libraries(${test_name}
60+
PRIVATE iceberg_bundle_shared Arrow::arrow_static
61+
Parquet::parquet_static avro-cpp::avrocpp_static)
5862
else()
5963
target_link_libraries(${test_name} PRIVATE iceberg_shared)
6064
endif()
@@ -184,7 +188,10 @@ if(ICEBERG_BUILD_REST)
184188
target_link_libraries(${test_name} PRIVATE GTest::gtest_main GTest::gmock)
185189

186190
if("${ICEBERG_TEST_LINKAGE}" STREQUAL "shared")
187-
target_link_libraries(${test_name} PRIVATE iceberg_rest_shared)
191+
target_link_libraries(${test_name}
192+
PRIVATE iceberg_rest_shared
193+
cpr::cpr # remove cpr::cpr after wrapping it
194+
nlohmann_json::nlohmann_json)
188195
else()
189196
target_link_libraries(${test_name} PRIVATE iceberg_rest_static)
190197
endif()

0 commit comments

Comments
 (0)