From cbb727ca6b394aed1852d47be052a73ed8450bee Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Fri, 6 Sep 2024 15:53:48 +1000 Subject: [PATCH] FetchContent: Don't update verify script timestamp if it doesn't change Fixes: #26255 --- Modules/ExternalProject/shared_internal_commands.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/ExternalProject/shared_internal_commands.cmake b/Modules/ExternalProject/shared_internal_commands.cmake index a709670cfc..09b976493e 100644 --- a/Modules/ExternalProject/shared_internal_commands.cmake +++ b/Modules/ExternalProject/shared_internal_commands.cmake @@ -1221,7 +1221,9 @@ hash=${hash} endif () set(comment "Performing download step (${steps}) for '${name}'") # already verified by 'download_script' - file(WRITE "${verify_script}" "") + # We use file(CONFIGURE) instead of file(WRITE) to avoid updating the + # timestamp when the file already existed and was empty. + file(CONFIGURE OUTPUT "${verify_script}" CONTENT "") # Rather than adding everything to the RepositoryInfo.txt file, it is # more robust to just depend on the download script. That way, we will