From 3519c337b99dbb605ad16852989c5d22222d09b0 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 28 Feb 2017 20:07:18 +0100 Subject: [PATCH] PARQUET-903: Add option to set RPATH to origin --- CMakeLists.txt | 13 ++++++++++++- src/parquet/arrow/CMakeLists.txt | 10 +++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d9a03e54..6dc7866b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,6 +96,9 @@ if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PARQUET_ZLIB_VENDORED "Build our own zlib (some libz.a aren't configured for static linking)" ON) + option(PARQUET_RPATH_ORIGIN + "Build Parquet libraries with RATH set to \$ORIGIN" + OFF) endif() if (PARQUET_BUILD_TESTS OR PARQUET_BUILD_EXECUTABLES OR PARQUET_BUILD_BENCHMARKS) @@ -602,7 +605,15 @@ if (PARQUET_BUILD_SHARED) OUTPUT_NAME "parquet") target_link_libraries(parquet_shared LINK_PRIVATE ${LIBPARQUET_INTERFACE_LINK_LIBS}) - if (APPLE) + if (PARQUET_RPATH_ORIGIN) + if (APPLE) + set(_lib_install_rpath "@loader_path") + else() + set(_lib_install_rpath "\$ORIGIN") + endif() + set_target_properties(parquet_shared PROPERTIES + INSTALL_RPATH ${_lib_install_rpath}) + elseif (APPLE) set_target_properties(parquet_shared PROPERTIES BUILD_WITH_INSTALL_RPATH ON diff --git a/src/parquet/arrow/CMakeLists.txt b/src/parquet/arrow/CMakeLists.txt index 95741d15..d1d1178e 100644 --- a/src/parquet/arrow/CMakeLists.txt +++ b/src/parquet/arrow/CMakeLists.txt @@ -47,7 +47,15 @@ if (PARQUET_BUILD_SHARED) arrow arrow_io parquet_shared) - if (APPLE) + if (PARQUET_RPATH_ORIGIN) + if (APPLE) + set(_lib_install_rpath "@loader_path") + else() + set(_lib_install_rpath "\$ORIGIN") + endif() + set_target_properties(parquet_arrow_shared PROPERTIES + INSTALL_RPATH ${_lib_install_rpath}) + elseif (APPLE) set_target_properties(parquet_arrow_shared PROPERTIES BUILD_WITH_INSTALL_RPATH ON