diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index c970e6a8ac180caa9ec1d3b6a5a295059232eaa5..aab366a794abe190ce670944d3d7b3b8024f500a 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() +]])