From d34986036fdc0dfa85a2d85a4fe5bce0368b1187 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 Nov 2022 13:49:25 -0500 Subject: ExternalData: Improve robustness on Windows to copy a data object to a file When an external data object was recently created on disk, perhaps fetched by the current process or another process, it may be inaccessible on Windows for a short time. Tell our `file(COPY_FILE)` call to retry a few times to copy the object to the final file path. Hopefully this will resolve our long-standing spurious failures of the `Module.ExternalData` test on Windows. --- Modules/ExternalData.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/ExternalData.cmake b/Modules/ExternalData.cmake index 189374b..6826c7b 100644 --- a/Modules/ExternalData.cmake +++ b/Modules/ExternalData.cmake @@ -945,7 +945,7 @@ function(_ExternalData_link_or_copy src dst) file(CREATE_LINK "${tgt}" "${tmp}" RESULT result COPY_ON_ERROR SYMBOLIC) else() # Create a copy. - file(COPY_FILE "${src}" "${tmp}" RESULT result) + file(COPY_FILE "${src}" "${tmp}" RESULT result INPUT_MAY_BE_RECENT) endif() if(result) file(REMOVE "${tmp}") -- cgit v0.12