mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-03 05:08:47 -06:00
ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks
This change was originally made in404cddb7bb(ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks, 2021-02-21), but was reverted by57d442e182(Revert ExternalProject and FetchContent refactoring, 2021-03-10) due to regressions from other changes. Reapply this fix on its own, since it is still valid. When using a file system which only has second resolution timestamps, there is a reasonably high likelihood of timestamps being the same. The IS_NEWER_THAN test returns true when timestamps are the same, so don't redo downloads when they match exactly.
This commit is contained in:
@@ -1302,7 +1302,8 @@ function(_ep_write_gitclone_script script_filename source_dir git_EXECUTABLE git
|
||||
|
||||
file(WRITE ${script_filename}
|
||||
"
|
||||
if(NOT \"${gitclone_infofile}\" IS_NEWER_THAN \"${gitclone_stampfile}\")
|
||||
if(EXISTS \"${gitclone_stampfile}\" AND EXISTS \"${gitclone_infofile}\" AND
|
||||
\"${gitclone_stampfile}\" IS_NEWER_THAN \"${gitclone_infofile}\")
|
||||
message(STATUS \"Avoiding repeated git clone, stamp file is up to date: '${gitclone_stampfile}'\")
|
||||
return()
|
||||
endif()
|
||||
@@ -1378,7 +1379,8 @@ function(_ep_write_hgclone_script script_filename source_dir hg_EXECUTABLE hg_re
|
||||
endif()
|
||||
file(WRITE ${script_filename}
|
||||
"
|
||||
if(NOT \"${hgclone_infofile}\" IS_NEWER_THAN \"${hgclone_stampfile}\")
|
||||
if(EXISTS \"${hgclone_stampfile}\" AND EXISTS \"${hgclone_infofile}\" AND
|
||||
\"${hgclone_stampfile}\" IS_NEWER_THAN \"${hgclone_infofile}\")
|
||||
message(STATUS \"Avoiding repeated hg clone, stamp file is up to date: '${hgclone_stampfile}'\")
|
||||
return()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user