diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | cmake/MacRpath.cmake | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fb130ce8..8668312a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -20,6 +20,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) | |||
20 | 20 | ||
21 | include(ApiDsl) | 21 | include(ApiDsl) |
22 | include(CheckCCompilerFlag) | 22 | include(CheckCCompilerFlag) |
23 | include(MacRpath) | ||
23 | include(ModulePackage) | 24 | include(ModulePackage) |
24 | 25 | ||
25 | set(CMAKE_MACOSX_RPATH ON) | 26 | set(CMAKE_MACOSX_RPATH ON) |
diff --git a/cmake/MacRpath.cmake b/cmake/MacRpath.cmake new file mode 100644 index 00000000..ae5429dc --- /dev/null +++ b/cmake/MacRpath.cmake | |||
@@ -0,0 +1,24 @@ | |||
1 | # Taken from https://cmake.org/Wiki/CMake_RPATH_handling#Always_full_RPATH. | ||
2 | # | ||
3 | # In many cases you will want to make sure that the required libraries are | ||
4 | # always found independent from LD_LIBRARY_PATH and the install location. Then | ||
5 | # you can use these settings: | ||
6 | |||
7 | # Use, i.e. don't skip the full RPATH for the build tree. | ||
8 | set(CMAKE_SKIP_BUILD_RPATH FALSE) | ||
9 | |||
10 | # When building, don't use the install RPATH already | ||
11 | # (but later on when installing). | ||
12 | set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) | ||
13 | |||
14 | set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") | ||
15 | |||
16 | # Add the automatically determined parts of the RPATH | ||
17 | # which point to directories outside the build tree to the install RPATH. | ||
18 | set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | ||
19 | |||
20 | # The RPATH to be used when installing, but only if it's not a system directory. | ||
21 | list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) | ||
22 | if("${isSystemDir}" STREQUAL "-1") | ||
23 | set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") | ||
24 | endif() | ||