From 959e86dfb0742046b2c7310a5f465524735fae4e Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Fri, 14 Sep 2018 12:48:42 +0200 Subject: [PATCH] [CMake] Proper RPATH for installed projects. --- scripts/cmake/CMakeSetup.cmake | 1 + scripts/cmake/MetisSetup.cmake | 9 --------- scripts/cmake/ProjectSetup.cmake | 2 ++ scripts/cmake/packaging/PackagingLinux.cmake | 7 ++----- scripts/cmake/packaging/PackagingMac.cmake | 4 +--- 5 files changed, 6 insertions(+), 17 deletions(-) diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake index 2a652145b0c..0a52647c69a 100644 --- a/scripts/cmake/CMakeSetup.cmake +++ b/scripts/cmake/CMakeSetup.cmake @@ -7,6 +7,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} include(UseBackportedModules) include(OptionRequires) include(CppcheckTargets) +include(GNUInstallDirs) include(ProcessorCount) ProcessorCount(NUM_PROCESSORS) diff --git a/scripts/cmake/MetisSetup.cmake b/scripts/cmake/MetisSetup.cmake index 41677c5243d..0f07f424c12 100644 --- a/scripts/cmake/MetisSetup.cmake +++ b/scripts/cmake/MetisSetup.cmake @@ -34,15 +34,6 @@ elseif(MSVC) generate_export_header(metis) endif() -if(BUILD_SHARED_LIBS) - install(TARGETS metis - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - COMPONENT ogs_partmesh - ) -endif() - ## Compile mpmetis add_definitions(-DSVNINFO="") include_directories(${METIS_PATH}/libmetis) diff --git a/scripts/cmake/ProjectSetup.cmake b/scripts/cmake/ProjectSetup.cmake index 730d1497bbe..71d7c33cbab 100644 --- a/scripts/cmake/ProjectSetup.cmake +++ b/scripts/cmake/ProjectSetup.cmake @@ -26,6 +26,8 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +set(CMAKE_MACOSX_RPATH 1) + include(GetGitRevisionDescription) GET_GIT_HEAD_REVISION(GIT_REFSPEC GIT_SHA1) string(SUBSTRING ${GIT_SHA1} 0 8 GIT_SHA1_SHORT) diff --git a/scripts/cmake/packaging/PackagingLinux.cmake b/scripts/cmake/packaging/PackagingLinux.cmake index 44c11444832..00ad219f2a8 100644 --- a/scripts/cmake/packaging/PackagingLinux.cmake +++ b/scripts/cmake/packaging/PackagingLinux.cmake @@ -1,13 +1,10 @@ set(CPACK_GENERATOR TGZ) # Adds the binaries location to the LD_LIBRARY_PATH -set(CMAKE_INSTALL_RPATH \$ORIGIN/) -if(OGS_USE_CONAN) - SET(CMAKE_INSTALL_RPATH "$ORIGIN/../lib") -endif() +SET(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../${CMAKE_INSTALL_LIBDIR}") if(MODULE_CMD) message(STATUS "Found module cmd -> writing module file.") - execute_process(COMMAND ${MODULE_CMD} bash list --terse + execute_process(COMMAND ${MODULE_CMD} bash --terse list ERROR_VARIABLE MODULE_LIST_OUTPUT ) string(REPLACE "\n" ";" MODULE_LIST_OUTPUT ${MODULE_LIST_OUTPUT}) diff --git a/scripts/cmake/packaging/PackagingMac.cmake b/scripts/cmake/packaging/PackagingMac.cmake index a5109cb8021..ab79522ea06 100644 --- a/scripts/cmake/packaging/PackagingMac.cmake +++ b/scripts/cmake/packaging/PackagingMac.cmake @@ -13,9 +13,7 @@ set(CPACK_DMG_FORMAT "UDBZ") set(CPACK_DMG_BACKGROUND_IMAGE ${PROJECT_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.png) set(CPACK_DMG_DS_STORE ${PROJECT_SOURCE_DIR}/scripts/packaging/.DS_Store) -if(OGS_USE_CONAN) - SET(CMAKE_INSTALL_RPATH "@executable_path") -endif() +SET(CMAKE_INSTALL_RPATH "@executable_path;@executable_path/../${CMAKE_INSTALL_LIBDIR}") if(OGS_BUILD_GUI) install_qt5_plugin("Qt5::QCocoaIntegrationPlugin" QT_PLUGINS) -- GitLab