From 0fa6b9f68907ef3e1f08f9adec5bbcbf8f23799e Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Tue, 30 Jan 2018 12:29:20 +0100 Subject: [PATCH] [CMake] Installation of .so files into install-dir/lib when using Conan. RPath is adapted too. --- scripts/cmake/ConanSetup.cmake | 3 +++ scripts/cmake/packaging/Pack.cmake | 8 +++++++- scripts/cmake/packaging/PackagingLinux.cmake | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake index 94f2ca209c4..72135a8d25a 100644 --- a/scripts/cmake/ConanSetup.cmake +++ b/scripts/cmake/ConanSetup.cmake @@ -77,6 +77,9 @@ if(MSVC) set(CONAN_IMPORTS ${CONAN_IMPORTS} "bin, *.dll* -> ./bin") set(CONAN_IMPORTS ${CONAN_IMPORTS} "plugins/platforms, *.dll* -> ./bin/platforms") endif() +if(UNIX AND NOT APPLE) + set(CONAN_IMPORTS ${CONAN_IMPORTS} "lib, *.so* -> ./lib") +endif() file(TIMESTAMP ${PROJECT_BINARY_DIR}/conan_install_timestamp.txt file_timestamp "%Y.%m.%d") string(TIMESTAMP timestamp "%Y.%m.%d") diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index 0742db29b61..3ef648bf2d4 100644 --- a/scripts/cmake/packaging/Pack.cmake +++ b/scripts/cmake/packaging/Pack.cmake @@ -104,11 +104,17 @@ cpack_add_component(ogs_docs if(OGS_USE_CONAN) # Install shared libraries, copied to bin-dir - foreach(PATTERN "*.dll" "*.dylib") + foreach(PATTERN "*.dll" "*.dylib*") file(GLOB MATCHED_FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PATTERN}) install(FILES ${MATCHED_FILES} DESTINATION bin) endforeach() + # Install shared libraries, copied to lib-dir + foreach(PATTERN "*.so*") + file(GLOB MATCHED_FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${PATTERN}) + install(FILES ${MATCHED_FILES} DESTINATION lib) + endforeach() + # macOS frameworks are directories, exclude header files file(GLOB MATCHED_DIRECTORIES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/*.framework") install(DIRECTORY ${MATCHED_DIRECTORIES} DESTINATION bin diff --git a/scripts/cmake/packaging/PackagingLinux.cmake b/scripts/cmake/packaging/PackagingLinux.cmake index c35013f60f5..44c11444832 100644 --- a/scripts/cmake/packaging/PackagingLinux.cmake +++ b/scripts/cmake/packaging/PackagingLinux.cmake @@ -1,6 +1,9 @@ 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() if(MODULE_CMD) message(STATUS "Found module cmd -> writing module file.") -- GitLab