Replace git-clone with HTTP get of an archive #238
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
git-clone fetches the entire history of a repository. There is a GIT_SHALLOW option in CMake's ExternalProject, but reportedly it can only be used to get "named" commits (tags, branches).
ExternalProject provides an alternative way of fetching this, via URL combined with github's ability to generate a zip archive of any arbitrary commit hash.
DOWNLOAD_EXTRACT_TIMESTAMP must be set to avoid warnings from CMake. Set to True, the timestamps of the extracted files will match those in the archive.
I didn't add URL_HASH support mainly because this is more or less a PoC PR, but if you choose to go this route, it should be added at some point. For now I can provide md5 and sha256 hashes for your convenience.