Skip to content

Commit 223cd47

Browse files
committed
use SHARED_PRIVATE_LINK_LIBS
1 parent 4b52408 commit 223cd47

File tree

4 files changed

+29
-13
lines changed

4 files changed

+29
-13
lines changed

src/iceberg/CMakeLists.txt

Lines changed: 11 additions & 6 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,9 +89,9 @@ 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
@@ -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,24 +152,24 @@ 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>"
161+
"iceberg_static"
158162
"$<IF:$<TARGET_EXISTS:Arrow::arrow_static>,Arrow::arrow_static,Arrow::arrow_shared>"
159163
"$<IF:$<TARGET_EXISTS:Parquet::parquet_static>,Parquet::parquet_static,Parquet::parquet_shared>"
160164
"$<IF:$<TARGET_EXISTS:avro-cpp::avrocpp_static>,avro-cpp::avrocpp_static,avro-cpp::avrocpp_shared>"
161165
)
166+
list(APPEND ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS "iceberg_shared")
162167
list(APPEND
163-
ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS
164-
"$<IF:$<TARGET_EXISTS:iceberg_shared>,iceberg_shared,iceberg_static>"
168+
ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS
165169
"$<IF:$<TARGET_EXISTS:Arrow::arrow_shared>,Arrow::arrow_shared,Arrow::arrow_static>"
166170
"$<IF:$<TARGET_EXISTS:Parquet::parquet_shared>,Parquet::parquet_shared,Parquet::parquet_static>"
167171
"$<IF:$<TARGET_EXISTS:avro-cpp::avrocpp_shared>,avro-cpp::avrocpp_shared,avro-cpp::avrocpp_static>"
168172
)
169-
170173
list(APPEND
171174
ICEBERG_BUNDLE_STATIC_INSTALL_INTERFACE_LIBS
172175
"$<IF:$<TARGET_EXISTS:iceberg::iceberg_static>,iceberg::iceberg_static,iceberg::iceberg_shared>"
@@ -187,6 +190,8 @@ if(ICEBERG_BUILD_BUNDLE)
187190
${ICEBERG_BUNDLE_SOURCES}
188191
SHARED_LINK_LIBS
189192
${ICEBERG_BUNDLE_SHARED_BUILD_INTERFACE_LIBS}
193+
SHARED_PRIVATE_LINK_LIBS
194+
${ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS}
190195
STATIC_LINK_LIBS
191196
${ICEBERG_BUNDLE_STATIC_BUILD_INTERFACE_LIBS}
192197
STATIC_INSTALL_INTERFACE_LIBS

src/iceberg/catalog/rest/CMakeLists.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ 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)
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
29+
ICEBERG_REST_SHARED_PRIVATE_BUILD_INTERFACE_LIBS
30+
iceberg_shared
31+
cpr::cpr
32+
nlohmann_json::nlohmann_json)
2933
list(APPEND
3034
ICEBERG_REST_STATIC_INSTALL_INTERFACE_LIBS
3135
"$<IF:$<TARGET_EXISTS:iceberg::iceberg_static>,iceberg::iceberg_static,iceberg::iceberg_shared>"
@@ -40,6 +44,8 @@ add_iceberg_lib(iceberg_rest
4044
${ICEBERG_REST_SOURCES}
4145
SHARED_LINK_LIBS
4246
${ICEBERG_REST_SHARED_BUILD_INTERFACE_LIBS}
47+
SHARED_PRIVATE_LINK_LIBS
48+
${ICEBERG_REST_SHARED_PRIVATE_BUILD_INTERFACE_LIBS}
4349
STATIC_LINK_LIBS
4450
${ICEBERG_REST_STATIC_BUILD_INTERFACE_LIBS}
4551
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: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,13 @@ function(add_iceberg_test test_name)
5454

5555
if("${ICEBERG_TEST_LINKAGE}" STREQUAL "shared")
5656
if(ARG_USE_BUNDLE)
57-
target_link_libraries(${test_name} PRIVATE iceberg_bundle_shared)
57+
target_link_libraries(${test_name}
58+
PRIVATE iceberg_bundle_shared
59+
${ICEBERG_BUNDLE_SHARED_PRIVATE_BUILD_INTERFACE_LIBS})
5860
else()
59-
target_link_libraries(${test_name} PRIVATE iceberg_shared)
61+
target_link_libraries(${test_name}
62+
PRIVATE iceberg_shared
63+
${ICEBERG_SHARED_PRIVATE_BUILD_INTERFACE_LIBS})
6064
endif()
6165
else()
6266
if(ARG_USE_BUNDLE)
@@ -184,7 +188,7 @@ 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} PRIVATE iceberg_rest_shared cpr::cpr)
188192
else()
189193
target_link_libraries(${test_name} PRIVATE iceberg_rest_static)
190194
endif()

0 commit comments

Comments
 (0)