Commit 987c017f authored by David Cole's avatar David Cole
Browse files

ExternalProject: Avoid unnecessary git clones (#12564)

In the case of git, only track the repository in the
repository info dependency tracking file. Not the tag.

The download step should only re-run if the repository changes.
The download step should NOT re-run if the tag changes.

The update step is an 'always' re-running step, and so should
already re-run, unless it's been eliminated by use of

  UPDATE_COMMAND ""
parent 8bb46ee7
......@@ -1079,9 +1079,15 @@ function(_ep_add_download_command name)
set(git_tag "master")
endif()
# For the download step, and the git clone operation, only the repository
# should be recorded in a configured RepositoryInfo file. If the repo
# changes, the clone script should be run again. But if only the tag
# changes, avoid running the clone script again. Let the 'always' running
# update step checkout the new tag.
#
set(repository ${git_repository})
set(module)
set(tag ${git_tag})
set(tag)
configure_file(
"${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
"${stamp_dir}/${name}-gitinfo.txt"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment