diff --git a/cmake/macros/AddPathsToLibPaths.cmake b/cmake/macros/AddPathsToLibPaths.cmake index d86d054615..f9556b9363 100644 --- a/cmake/macros/AddPathsToLibPaths.cmake +++ b/cmake/macros/AddPathsToLibPaths.cmake @@ -14,6 +14,8 @@ macro(ADD_PATHS_TO_LIB_PATHS) set(TEMP_LIB_PATHS ${LIB_PATHS}) list(APPEND TEMP_LIB_PATHS ${_PATH}) + list(REMOVE_DUPLICATES _TEMP_LIB_PATHS) + set(LIB_PATHS ${TEMP_LIB_PATHS} CACHE TYPE LIST FORCE) endforeach() endmacro() \ No newline at end of file diff --git a/cmake/macros/CopyDllsBesideWindowsExecutable.cmake b/cmake/macros/CopyDllsBesideWindowsExecutable.cmake index 8c04e3183a..2498c0dcf3 100644 --- a/cmake/macros/CopyDllsBesideWindowsExecutable.cmake +++ b/cmake/macros/CopyDllsBesideWindowsExecutable.cmake @@ -11,15 +11,20 @@ macro(COPY_DLLS_BESIDE_WINDOWS_EXECUTABLE) if (WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") - separate_arguments(LIB_PATHS_ARG ${LIB_PATHS}) + + configure_file( + ${HIFI_CMAKE_DIR}/templates/FixupBundlePostBuild.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/FixupBundlePostBuild.cmake + @ONLY + ) + # add a post-build command to copy DLLs beside the interface executable add_custom_command( TARGET ${TARGET_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} - -DBUNDLE_EXECUTABLE=$ - -DLIB_PATHS=${LIB_PATHS_ARG} - -P ${HIFI_CMAKE_DIR}/scripts/FixupBundlePostBuild.cmake + COMMAND ${CMAKE_COMMAND} + -DBUNDLE_EXECUTABLE=$ + -P ${CMAKE_CURRENT_BINARY_DIR}/FixupBundlePostBuild.cmake ) endif () endmacro() \ No newline at end of file diff --git a/cmake/scripts/FixupBundlePostBuild.cmake b/cmake/templates/FixupBundlePostBuild.cmake.in similarity index 67% rename from cmake/scripts/FixupBundlePostBuild.cmake rename to cmake/templates/FixupBundlePostBuild.cmake.in index c6d0b42aea..f72ba577b9 100644 --- a/cmake/scripts/FixupBundlePostBuild.cmake +++ b/cmake/templates/FixupBundlePostBuild.cmake.in @@ -10,5 +10,5 @@ # include(BundleUtilities) -message(STATUS "LIB_PATHS for fixup_bundle bundle ${BUNDLE_EXECUTABLE} are ${LIB_PATHS}") -fixup_bundle("${BUNDLE_EXECUTABLE}" "" "${LIB_PATHS}") \ No newline at end of file +message(STATUS "LIB_PATHS for fixup_bundle called for bundle ${BUNDLE_EXECUTABLE} are @LIB_PATHS@") +fixup_bundle("${BUNDLE_EXECUTABLE}" "" "@LIB_PATHS@") \ No newline at end of file