From 114e4c79f35003794060469cc423577ac7671f04 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Thu, 5 Jan 2017 09:38:22 +0100 Subject: [PATCH] [CMake] Install qt platform shared libraries with Conan. --- conanfile.py | 2 ++ scripts/cmake/packaging/Pack.cmake | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/conanfile.py b/conanfile.py index cef604a86db..0f61c2bfdbc 100644 --- a/conanfile.py +++ b/conanfile.py @@ -22,6 +22,8 @@ class OpenGeoSysConan(ConanFile): self.copy(pattern="*.dll", dst="bin", src="bin") self.copy(pattern="*.dylib*", dst="bin", src="lib") self.copy(pattern="*.framework*", dst="bin", src="lib") + self.copy(pattern="*.dll", dst="bin/platforms", src="plugins/platforms") + self.copy(pattern="*.dylib*", dst="bin/platforms", src="plugins/platforms") def build(self): cmake = CMake(self.settings) diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index f20fb855c6a..a7f56030c7f 100644 --- a/scripts/cmake/packaging/Pack.cmake +++ b/scripts/cmake/packaging/Pack.cmake @@ -102,15 +102,18 @@ cpack_add_component(ogs_docs GROUP Utilities ) +if(USE_CONAN) + # Install shared libraries, copied to bin-dir + foreach(PATTERN "*.dll" "*.dylib") + file(GLOB MATCHED_FILES ${EXECUTABLE_OUTPUT_PATH}/${PATTERN}) + install(FILES ${MATCHED_FILES} DESTINATION bin) + endforeach() -# Install shared libraries, copied to bin-dir from e.g Conan -foreach(PATTERN "*.dll" "*.dylib") - file(GLOB MATCHED_FILES ${EXECUTABLE_OUTPUT_PATH}/${PATTERN}) - # message(STATUS ${MATCHED_FILES}) - install(FILES ${MATCHED_FILES} DESTINATION bin) -endforeach() + # macOS frameworks are directories, exclude header files + file(GLOB MATCHED_DIRECTORIES "${EXECUTABLE_OUTPUT_PATH}/*.framework") + install(DIRECTORY ${MATCHED_DIRECTORIES} DESTINATION bin + PATTERN "Headers" EXCLUDE) -# macOS frameworks are directories, exclude header files -file(GLOB MATCHED_DIRECTORIES "${EXECUTABLE_OUTPUT_PATH}/*.framework") -install(DIRECTORY ${MATCHED_DIRECTORIES} DESTINATION bin - PATTERN "Headers" EXCLUDE) + # Install Qt platform shared libraries + install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/platforms DESTINATION bin OPTIONAL) +endif() -- GitLab