diff --git a/OMCompiler/Compiler/SimCode/SimCodeUtil.mo b/OMCompiler/Compiler/SimCode/SimCodeUtil.mo index 2a06259bfac..cd32a740275 100644 --- a/OMCompiler/Compiler/SimCode/SimCodeUtil.mo +++ b/OMCompiler/Compiler/SimCode/SimCodeUtil.mo @@ -15745,7 +15745,8 @@ algorithm " NAMES " + lib + "\n" + " PATHS ${EXTERNAL_LIBDIRECTORIES})\n" + "message(STATUS \"Linking ${" + lib + "}\")" + "\n" + - "target_link_libraries(${FMU_NAME} PRIVATE ${" + lib + "})" + "\n"; + "target_link_libraries(${FMU_NAME} PRIVATE ${" + lib + "})" + "\n" + + "list(APPEND RUNTIME_DEPENDS ${" + lib + "})" + "\n"; end for; end getCmakeLinkLibrariesCode; diff --git a/OMCompiler/SimulationRuntime/fmi/export/buildproject/CMakeLists.txt.in b/OMCompiler/SimulationRuntime/fmi/export/buildproject/CMakeLists.txt.in index 2fd4c470c22..0787eff3e75 100644 --- a/OMCompiler/SimulationRuntime/fmi/export/buildproject/CMakeLists.txt.in +++ b/OMCompiler/SimulationRuntime/fmi/export/buildproject/CMakeLists.txt.in @@ -161,6 +161,7 @@ if(${NEED_CVODE}) message(FATAL_ERROR "Couldn't find library sundials_cvode in ${CVODE_DIRECTORY}") endif() message(STATUS "SUNDIALS_CVODE_LIBRARY: ${SUNDIALS_CVODE_LIBRARY}") + list(APPEND RUNTIME_DEPENDS ${SUNDIALS_CVODE_LIBRARY}) find_library(SUNDIALS_NVECSERIAL_LIBRARY sundials_nvecserial PATHS ${CVODE_DIRECTORY} @@ -171,6 +172,7 @@ if(${NEED_CVODE}) message(FATAL_ERROR "Couldn't find library sundials_nvecserial in ${CVODE_DIRECTORY}") endif() message(STATUS "SUNDIALS_NVECSERIAL_LIBRARY: ${SUNDIALS_NVECSERIAL_LIBRARY}") + list(APPEND RUNTIME_DEPENDS ${SUNDIALS_NVECSERIAL_LIBRARY}) target_link_libraries(${FMU_NAME} PRIVATE ${SUNDIALS_NVECSERIAL_LIBRARY}) target_link_libraries(${FMU_NAME} PRIVATE ${SUNDIALS_CVODE_LIBRARY}) @@ -207,11 +209,13 @@ if(RUNTIME_DEPENDENCIES_LEVEL STREQUAL "all") LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}) elseif(RUNTIME_DEPENDENCIES_LEVEL STREQUAL "modelica") + message(STATUS "Installing dynamic dependencies from list: ${RUNTIME_DEPENDS}") install(TARGETS ${FMU_NAME} RUNTIME_DEPENDENCIES DIRECTORIES ${EXTERNAL_LIBDIRECTORIES} ${CVODE_DIRECTORY} PRE_EXCLUDE_REGEXES "api-ms-" "ext-ms-" POST_EXCLUDE_REGEXES "^\\/lib.*" "^\\/usr\\/lib.*" "^\\/usr\\/local\\/lib.*" ".*system32/.*\\.dll" + POST_INCLUDE_FILES ${RUNTIME_DEPENDS} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}