mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
CMakeVersion: Prefer Git information provided by 'git archive' exports
Update the approach from commit fe2c558ba6 (CMakeVersion: Preserve Git
information during 'git archive', 2019-07-25, v3.16.0-rc1~337^2) to
prefer `export-subst` information. This will allow exported source
trees to be imported into unrelated Git repositories while still using
the original upstream CMake commit information.
This commit is contained in:
@@ -19,7 +19,12 @@ else()
|
||||
set(CMake_VERSION_IS_RELEASE 0)
|
||||
endif()
|
||||
|
||||
if(EXISTS ${CMake_SOURCE_DIR}/.git)
|
||||
# If this source was exported by 'git archive', use its commit info.
|
||||
set(git_info [==[$Format:%h %s$]==])
|
||||
|
||||
# Otherwise, try to identify the current development source version.
|
||||
if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "
|
||||
AND EXISTS ${CMake_SOURCE_DIR}/.git)
|
||||
find_package(Git QUIET)
|
||||
if(GIT_FOUND)
|
||||
macro(_git)
|
||||
@@ -32,16 +37,11 @@ if(EXISTS ${CMake_SOURCE_DIR}/.git)
|
||||
)
|
||||
endmacro()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Try to identify the current development source version.
|
||||
if(COMMAND _git)
|
||||
# Get the commit checked out in this work tree.
|
||||
_git(log -n 1 HEAD "--pretty=format:%h %s" --)
|
||||
set(git_info "${_git_out}")
|
||||
else()
|
||||
# Get the commit exported by 'git archive'.
|
||||
set(git_info [==[$Format:%h %s$]==])
|
||||
if(COMMAND _git)
|
||||
# Get the commit checked out in this work tree.
|
||||
_git(log -n 1 HEAD "--pretty=format:%h %s" --)
|
||||
set(git_info "${_git_out}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Extract commit information if available.
|
||||
|
||||
Reference in New Issue
Block a user