From 936f6bb44dc4aba8236df101a19511f1046bc931 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Wed, 31 May 2017 10:49:49 +0200 Subject: [PATCH] try to sanitize the lib rpath on Apple --- CMakeLists.txt | 4 ---- tools/cmake/MakeLib.cmake | 7 +++++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fede4c2b3..58d7dbb5de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,10 +156,6 @@ if(NOT PYTHONINTERP_FOUND) message(FATAL_ERROR "Please install Python (version 3 or higher).") endif() -if (APPLE) - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") - set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -endif() SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) ### Compute the include paths diff --git a/tools/cmake/MakeLib.cmake b/tools/cmake/MakeLib.cmake index d7c456a5fd..6f4cf6b299 100644 --- a/tools/cmake/MakeLib.cmake +++ b/tools/cmake/MakeLib.cmake @@ -4,10 +4,13 @@ # See https://cmake.org/Wiki/CMake_RPATH_handling and Java.cmake set(MACOSX_RPATH ON) if(APPLE) + SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # When installed, use system path + set(CMAKE_SKIP_BUILD_RPATH FALSE) # When executing from build tree, take the lib from the build path if exists + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # When executing from build tree, take the lib from the system path if exists + # add the current location of libsimgrid-java.dynlib as a location for libsimgrid.dynlib # (useful when unpacking the native libraries from the jarfile) - set(CMAKE_INSTALL_RPATH "@loader_path/.") - SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + set(CMAKE_INSTALL_RPATH "@loader_path/.;@rpath/.") endif() ############################### -- 2.20.1