Skip to content

Commit f413c8f

Browse files
koupitrou
authored andcommitted
ARROW-6309: [C++][Parquet] Stop needless static linking
Closes #5158 from kou/cpp-stop-needless-static-linking and squashes the following commits: 4b4fe09 <Sutou Kouhei> ARROW-6309: Stop needless static linking Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
1 parent 5e3c1aa commit f413c8f

5 files changed

Lines changed: 11 additions & 6 deletions

File tree

cpp/src/parquet/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ if(NOT VERSION)
2929
endif()
3030

3131
function(ADD_PARQUET_TEST REL_TEST_NAME)
32-
set(options USE_STATIC_LINKING)
32+
set(options USE_STATIC_LINKING_WIN32)
3333
set(one_value_args)
3434
set(multi_value_args EXTRA_DEPENDENCIES LABELS)
3535
cmake_parse_arguments(ARG
@@ -43,7 +43,7 @@ function(ADD_PARQUET_TEST REL_TEST_NAME)
4343
# By default we prefer shared linking with libparquet, as it's faster
4444
# and uses less disk space, but in some cases we need to force static
4545
# linking (see rationale below).
46-
if(ARG_USE_STATIC_LINKING OR ARROW_TEST_LINKAGE STREQUAL "static")
46+
if((ARG_USE_STATIC_LINKING_WIN32 AND WIN32) OR ARROW_TEST_LINKAGE STREQUAL "static")
4747
add_test_case(${REL_TEST_NAME}
4848
STATIC_LINK_LIBS
4949
${PARQUET_STATIC_TEST_LINK_LIBS}
@@ -320,11 +320,11 @@ add_parquet_test(arrow-test
320320
# Those tests need to use static linking as they access thrift-generated
321321
# symbols which are not exported by parquet.dll on Windows (PARQUET-1420).
322322
add_parquet_test(file_deserialize_test
323-
USE_STATIC_LINKING
323+
USE_STATIC_LINKING_WIN32
324324
SOURCES
325325
file_deserialize_test.cc
326326
test_util.cc)
327-
add_parquet_test(schema_test USE_STATIC_LINKING)
327+
add_parquet_test(schema_test USE_STATIC_LINKING_WIN32)
328328

329329
add_parquet_benchmark(column_io_benchmark)
330330
add_parquet_benchmark(encoding_benchmark)

cpp/tools/parquet/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@ if(PARQUET_BUILD_EXECUTABLES)
1919
set(PARQUET_TOOLS parquet-dump-schema parquet-reader parquet-scan)
2020

2121
foreach(TOOL ${PARQUET_TOOLS})
22-
add_executable(${TOOL} "${TOOL}.cc")
23-
target_link_libraries(${TOOL} parquet_static)
22+
string(REGEX REPLACE "-" "_" TOOL_SOURCE ${TOOL})
23+
add_executable(${TOOL} "${TOOL_SOURCE}.cc")
24+
if(ARROW_BUILD_SHARED)
25+
target_link_libraries(${TOOL} parquet_shared)
26+
else()
27+
target_link_libraries(${TOOL} parquet_static)
28+
endif()
2429
# Avoid unsetting RPATH when installing
2530
set_target_properties(${TOOL} PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
2631
install(TARGETS ${TOOL} ${INSTALL_IS_OPTIONAL}

0 commit comments

Comments
 (0)