From 59d000f746eeab905a15c0bd38d138f7a8ac22d0 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Thu, 28 Sep 2017 14:01:50 +0200 Subject: [PATCH] [CMake] Search in Conan bin-dirs first for deps. --- .../cmake/packaging/InstallDependencies.cmake | 26 +++++++++++-------- scripts/cmake/packaging/PackagingWin.cmake | 1 + 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/scripts/cmake/packaging/InstallDependencies.cmake b/scripts/cmake/packaging/InstallDependencies.cmake index e41cbd54388..4824cd8dadc 100644 --- a/scripts/cmake/packaging/InstallDependencies.cmake +++ b/scripts/cmake/packaging/InstallDependencies.cmake @@ -3,26 +3,30 @@ macro(InstallDependencies TARGET) get_target_property(EXE_DIR ${TARGET} RUNTIME_OUTPUT_DIRECTORY) set(TARGET_EXE ${EXE_DIR}/${TARGET}${CMAKE_EXECUTABLE_SUFFIX}) - if(EXISTS ${TARGET_EXE}) - # Run CMake again after target was built to collect dependencies - add_custom_command(TARGET ${TARGET} POST_BUILD - COMMAND ${CMAKE_COMMAND} . -DPRE_INSTALL_RUN=ON - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) + # Run CMake again after target was built to collect dependencies + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} . -DPRE_INSTALL_RUN=ON + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) + if(EXISTS ${TARGET_EXE}) include(GetPrerequisites) - # arg3: exclude system, arg4: recursive - if (VTK_BUILD_SHARED_LIBS) + + set(dirs ${CONAN_BIN_DIRS}) + if(VTK_BUILD_SHARED_LIBS) list(APPEND dirs ${vtkIOXML_RUNTIME_LIBRARY_DIRS}) endif() - list(APPEND dirs "/usr/local/lib;${CONAN_BIN_DIRS}") - get_prerequisites(${TARGET_EXE} TARGET_DEPENDENCIES ${EXCLUDE_SYSTEM} 1 "" ${dirs}) + if(NOT WIN32) + list(APPEND dirs "/usr/local/lib") + endif() + + get_prerequisites(${TARGET_EXE} TARGET_DEPENDENCIES ${EXCLUDE_SYSTEM} 1 "" "${dirs}") if(PRE_INSTALL_RUN) message("-- Dependencies of target ${TARGET}:") endif() foreach(DEPENDENCY ${TARGET_DEPENDENCIES}) if(NOT ${DEPENDENCY} MATCHES "@loader_path") - gp_resolve_item("${TARGET_EXE}" "${DEPENDENCY}" "" "" DEPENDENCY_PATH) + gp_resolve_item("${TARGET_EXE}" "${DEPENDENCY}" "" "${dirs}" DEPENDENCY_PATH) get_filename_component(RESOLVED_DEPENDENCY_PATH "${DEPENDENCY_PATH}" REALPATH) string(TOLOWER ${DEPENDENCY} DEPENDENCY_LOWER) set(DEPENDENCY_PATHS ${DEPENDENCY_PATHS} ${RESOLVED_DEPENDENCY_PATH}) diff --git a/scripts/cmake/packaging/PackagingWin.cmake b/scripts/cmake/packaging/PackagingWin.cmake index 3d220de3cc7..c476b8cae55 100644 --- a/scripts/cmake/packaging/PackagingWin.cmake +++ b/scripts/cmake/packaging/PackagingWin.cmake @@ -1,3 +1,4 @@ +set(CMAKE_INSTALL_UCRT_LIBRARIES ON) set(CMAKE_INSTALL_OPENMP_LIBRARIES ON) include(InstallRequiredSystemLibraries) set(CPACK_GENERATOR ZIP) -- GitLab