From 65a2c726c68aaeddaefb707c19948463f8c404ab Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Mon, 9 Nov 2020 12:50:42 +0100
Subject: [PATCH] [CMake] Install dependencies.

Fixes #3040.
---
 scripts/cmake/packaging/Pack.cmake | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake
index c970e6a8ac1..aab366a794a 100644
--- a/scripts/cmake/packaging/Pack.cmake
+++ b/scripts/cmake/packaging/Pack.cmake
@@ -100,3 +100,24 @@ install(FILES ${PROJECT_BINARY_DIR}/CMakeCache.txt DESTINATION ${CMAKE_INSTALL_I
 if(EXISTS ${PROJECT_BINARY_DIR}/cmake-args)
     install(FILES ${PROJECT_BINARY_DIR}/cmake-args DESTINATION ${CMAKE_INSTALL_INFODIR})
 endif()
+
+# Install dependencies via GET_RUNTIME_DEPENDENCIES. Available since CMake 3.16.
+if(${CMAKE_VERSION} VERSION_LESS 3.16)
+    return()
+endif()
+install(CODE [[
+  file(GET_RUNTIME_DEPENDENCIES
+    EXECUTABLES $<TARGET_FILE:ogs>
+    RESOLVED_DEPENDENCIES_VAR _r_deps
+    UNRESOLVED_DEPENDENCIES_VAR _u_deps
+    POST_EXCLUDE_REGEXES "/opt/local/lib/lib.*" # Disable macports zlib
+  )
+  file(INSTALL ${_r_deps}
+    DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
+    FOLLOW_SYMLINK_CHAIN
+  )
+  list(LENGTH _u_deps _u_length)
+  if("${_u_length}" GREATER 0)
+    message(WARNING "Unresolved dependencies detected!\n${_u_deps}")
+  endif()
+]])
-- 
GitLab