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