-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add correct rpath settings (for macos) (#32)
* add correct rpath settings (for macos) - see (LCIO PR#121) * Remove LCIO specific part (leftover from copying) --------- Co-authored-by: tmadlener <[email protected]>
- Loading branch information
Showing
1 changed file
with
17 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,20 @@ | ||
|
||
# rpath treatment for macos: always use rpath: | ||
# ( maybe we should also use this on other platforms ?) | ||
if (APPLE) | ||
# use, i.e. don't skip the full RPATH for the build tree | ||
SET(CMAKE_SKIP_BUILD_RPATH FALSE) | ||
|
||
# when building, don't use the install RPATH already | ||
# (but later on when installing) | ||
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) | ||
|
||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") | ||
|
||
# add the automatically determined parts of the RPATH | ||
# which point to directories outside the build tree to the install RPATH | ||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | ||
|
||
# the RPATH to be used when installing, but only if it's not a system directory | ||
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) | ||
IF("${isSystemDir}" STREQUAL "-1") | ||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") | ||
ENDIF("${isSystemDir}" STREQUAL "-1") | ||
|
||
#---RPATH options------------------------------------------------------------------------------- | ||
# When building, don't use the install RPATH already (but later on when installing) | ||
set(CMAKE_SKIP_BUILD_RPATH FALSE) # don't skip the full RPATH for the build tree | ||
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # use always the build RPATH for the build tree | ||
set(CMAKE_MACOSX_RPATH TRUE) # use RPATH for MacOSX | ||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # point to directories outside the build tree to the install RPATH | ||
|
||
# Check whether to add RPATH to the installation (the build tree always has the RPATH enabled) | ||
if(APPLE) | ||
set(CMAKE_INSTALL_NAME_DIR "@rpath") | ||
set(CMAKE_INSTALL_RPATH "@loader_path/../${CMAKE_INSTALL_LIBDIR}") # self relative LIBDIR | ||
# the RPATH to be used when installing, but only if it's not a system directory | ||
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" isSystemDir) | ||
if("${isSystemDir}" STREQUAL "-1") | ||
set(CMAKE_INSTALL_RPATH "@loader_path/../${CMAKE_INSTALL_LIBDIR}") | ||
endif("${isSystemDir}" STREQUAL "-1") | ||
else() | ||
|
||
# add library install path to the rpath list | ||
SET( CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib" ) | ||
MARK_AS_ADVANCED( CMAKE_INSTALL_RPATH ) | ||
|
||
# append link pathes to rpath list | ||
SET( CMAKE_INSTALL_RPATH_USE_LINK_PATH 1 ) | ||
MARK_AS_ADVANCED( CMAKE_INSTALL_RPATH_USE_LINK_PATH ) | ||
|
||
set(CMAKE_SKIP_INSTALL_RPATH TRUE) # skip the full RPATH for the install tree | ||
endif() | ||
|