From 326587c912cd177c84db041fd4ebc7f60a8d52d9 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Wed, 15 Nov 2023 16:04:21 +0100 Subject: [PATCH] added proper rpath handling. --- CMakeLists.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4001d328..f51ce5ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -259,6 +259,29 @@ else () set(IS_GIT_REPO 0) endif () +#--- rpath related things ----------------------------------------------------- +# 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") +set(rpath ${CMAKE_INSTALL_RPATH}) +string(APPEND rpath ";/usr/local/lib") +set(CMAKE_INSTALL_RPATH "${rpath}") + #--- propagate to the sub-directories ----------------------------------------- add_subdirectory(src)