From 508b033268f343d6581d43ecd6b7b007004e2c97 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Fri, 30 Jan 2015 15:29:38 -0600 Subject: [PATCH 1/2] In relation to #733, turn on @loader_path and @executable_path for rpath on OSX. --- CMakeLists.txt | 2 +- cmake/macros.cmake | 6 ++++++ cmake/policies.cmake | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 354c5428ab..b849af0a89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ file(MAKE_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}") # per http://www.cmake.org/Wiki/CMake_RPATH_handling SET(CMAKE_SKIP_BUILD_RPATH FALSE ) -SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) IF (APPLE) SET(MACOSX_RPATH ON) diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 396d0fbe6a..6f5402708d 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -64,6 +64,9 @@ macro(PDAL_ADD_LIBRARY _name) RUNTIME DESTINATION ${PDAL_BIN_INSTALL_DIR} LIBRARY DESTINATION ${PDAL_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${PDAL_LIB_INSTALL_DIR}) + if (APPLE) + set_target_properties(${_name} PROPERTIES INSTALL_NAME_DIR "@executable_path/../lib") + endif() endmacro(PDAL_ADD_LIBRARY) ############################################################################### @@ -114,6 +117,9 @@ macro(PDAL_ADD_PLUGIN _name _type _shortname) RUNTIME DESTINATION ${PDAL_BIN_INSTALL_DIR} LIBRARY DESTINATION ${PDAL_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${PDAL_LIB_INSTALL_DIR}) + if (APPLE) + set_target_properties(${${_name}} PROPERTIES INSTALL_NAME_DIR "@loader_path/") + endif() endmacro(PDAL_ADD_PLUGIN) ############################################################################### diff --git a/cmake/policies.cmake b/cmake/policies.cmake index cdb43762c3..e968597728 100644 --- a/cmake/policies.cmake +++ b/cmake/policies.cmake @@ -3,5 +3,5 @@ # if (CMAKE_MAJOR_VERSION GREATER 2) cmake_policy(SET CMP0022 OLD) # interface link libraries - cmake_policy(SET CMP0042 OLD) # osx rpath + cmake_policy(SET CMP0042 NEW) # osx rpath endif() From 984318e034d70f668f3f3c447ccefca6e339d654 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Sun, 1 Feb 2015 10:44:08 -0600 Subject: [PATCH 2/2] don't do RPATH install on linux, just OSX --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b849af0a89..524e75276b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,10 @@ file(MAKE_DIRECTORY "${PDAL_OUTPUT_BIN_DIR}") # per http://www.cmake.org/Wiki/CMake_RPATH_handling SET(CMAKE_SKIP_BUILD_RPATH FALSE ) -SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +if (APPLE) + SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +endif() SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) IF (APPLE) SET(MACOSX_RPATH ON)