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