summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-03-16 14:48:15 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-03-16 14:49:12 (GMT)
commit64026ded48208aca9bf509629e3ae26dfd59964a (patch)
treeaa05e80c7821e988397a676d33e37ff12ed88971 /Modules
parente17303b16bef5cd354c34db2434a1d5fde9f1cc1 (diff)
parentb6c022eaa27abcc265a5961b22e5e0c44df88752 (diff)
downloadCMake-64026ded48208aca9bf509629e3ae26dfd59964a.zip
CMake-64026ded48208aca9bf509629e3ae26dfd59964a.tar.gz
CMake-64026ded48208aca9bf509629e3ae26dfd59964a.tar.bz2
Merge topic 'ExternalData-stop-forking-to-cmake'
b6c022eaa2 ExternalData: use `file(CREATE_LINK)` 01cc8bf930 ExternalData: use `file(COPY_FILE)` instead of forking CMake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5875
Diffstat (limited to 'Modules')
-rw-r--r--Modules/ExternalData.cmake5
1 files changed, 3 insertions, 2 deletions
diff --git a/Modules/ExternalData.cmake b/Modules/ExternalData.cmake
index b439636..1850e74 100644
--- a/Modules/ExternalData.cmake
+++ b/Modules/ExternalData.cmake
@@ -941,10 +941,11 @@ function(_ExternalData_link_or_copy src dst)
file(RELATIVE_PATH tgt "${dst_dir}" "${src}")
endif()
endif()
- execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${tgt}" "${tmp}" RESULT_VARIABLE result)
+ # Create link (falling back to copying if there's a problem).
+ file(CREATE_LINK "${tgt}" "${tmp}" RESULT result COPY_ON_ERROR SYMBOLIC)
else()
# Create a copy.
- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${src}" "${tmp}" RESULT_VARIABLE result)
+ file(COPY_FILE "${src}" "${tmp}" RESULT result)
endif()
if(result)
file(REMOVE "${tmp}")