From ee63e39ff555812318aa7550daba2d24370e9636 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Sat, 26 Nov 2016 23:16:39 +0000 Subject: [PATCH] Add $ORIGIN and @executable_path to RPATH --- CMakeLists.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d3dc4533..c45893996 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -373,19 +373,22 @@ if(ENABLE_MASON) if(NOT MASON_PACKAGE_tbb_LIBRARY_DIRS) message(FATAL_ERROR "MASON_PACKAGE_tbb_LIBRARY_DIRS is empty, rpath will not work") endif() + set(TBB_LINKER_RPATHS "") foreach(libpath ${MASON_PACKAGE_tbb_LIBRARY_DIRS}) - if(UNIX AND NOT APPLE) - set(LINKER_FLAGS "-Wl,-rpath,${libpath}") - elseif(APPLE) - set(LINKER_FLAGS "-Wl,-rpath, -Wl,${libpath}") - endif() - set(OSRM_LIB_LINKER_FLAGS "${OSRM_LIB_LINKER_FLAGS} ${LINKER_FLAGS}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAGS}") + set(TBB_LINKER_RPATHS "${TBB_LINKER_RPATHS} -Wl,-rpath -Wl,${libpath}") file(GLOB TBBGlob ${libpath}/*.*) install(FILES ${TBBGlob} DESTINATION lib) endforeach() + if(APPLE) + set(LINKER_FLAGS "${TBB_LINKER_RPATHS} -Wl,-rpath -Wl,@executable_path") + elseif(UNIX) + set(LINKER_FLAGS "${TBB_LINKER_RPATHS} '-Wl,-rpath,$ORIGIN' -Wl,-z,origin") + endif() + + set(OSRM_LIB_LINKER_FLAGS "${OSRM_LIB_LINKER_FLAGS} ${LINKER_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAGS}") if(BUILD_COMPONENTS) message(FATAL_ERROR "BUILD_COMPONENTS is not supported with ENABLE_MASON")