diff --git a/cmake/FairMQLib.cmake b/cmake/FairMQLib.cmake index c97dd624..f143c5dc 100644 --- a/cmake/FairMQLib.cmake +++ b/cmake/FairMQLib.cmake @@ -35,7 +35,9 @@ endif() macro(set_fairmq_cmake_policies) # Find more details to each policy with cmake --help-policy CMPXXXX foreach(policy + CMP0025 # Compiler id for Apple Clang is now AppleClang. CMP0028 # Double colon in target name means ALIAS or IMPORTED target. + CMP0042 # MACOSX_RPATH is enabled by default. CMP0048 # The ``project()`` command manages VERSION variables. CMP0054 # Only interpret ``if()`` arguments as variables or keywords when unquoted. ) @@ -137,6 +139,13 @@ macro(set_fairmq_defaults) set(PROJECT_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME_LOWER}) set(PROJECT_INSTALL_CMAKEMODDIR ${PROJECT_INSTALL_DATADIR}/cmake) + # https://cmake.org/Wiki/CMake_RPATH_handling#Always_full_RPATH + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}" isSystemDir) + if("${isSystemDir}" STREQUAL "-1") + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}") + endif() + # Define export set, only one for now set(PROJECT_EXPORT_SET ${PROJECT_NAME}Targets) endmacro()