This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, master has been updated via ffe555ad886662d39fab835d5ccc986282ad467f (commit) via fe2c558ba66dd6a12cf9289adf692c9a76c71ef4 (commit) via 0505a66cbf6c42ffa3592c9866c5772e7806f5fc (commit) via f7bf08754be661e936d1131b91ca48616cdb9044 (commit) via ac48259333b1b5b5a75e0c2d2f8413bbab782a3e (commit) via 311f232f7a045cd781171c2660ef005fb8074e3d (commit) via 2f608566b4d19192df2d2213d570692075504b29 (commit) via 74ff80323c23a41b4b311b0cf67d6f5f59034d08 (commit) via e1e7986c00912a89b644ff60a8e63189f8ba1ac5 (commit) via 564bcb4cb3fa8182308d3501b9b98aee1bf837d1 (commit) via ecdf38aa36cfcc897e585ba05fd6f6e738bb5157 (commit) via 8cf4aec5acc2a3a10abbbbbde17c18d96a97e139 (commit) via 3cb87cbbeed58b0e82246ff193ac5cdb7b05ee41 (commit) from 473f288e9703ad49e6be8f3fc8639e0bbb79cc9b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ffe555ad886662d39fab835d5ccc986282ad467f commit ffe555ad886662d39fab835d5ccc986282ad467f Merge: 473f288 fe2c558 Author: Craig Scott <craig.sc...@crascit.com> AuthorDate: Tue Jul 30 13:41:43 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Tue Jul 30 09:41:57 2019 -0400 Merge topic 'cmake-version' fe2c558ba6 CMakeVersion: Preserve Git information during 'git archive' 0505a66cbf CMakeVersion: Add generic '-git' suffix when no git info is available f7bf08754b CMakeVersion: Provide Git information in non-exact release versions ac48259333 CMakeVersion: Re-order logic to obviate addition of each component 311f232f7a CMakeVersion: De-duplicate variable initialization 2f608566b4 CMakeVersion: Factor git execution into helper macro 74ff80323c CMakeVersion: Use FindGit module to find Git e1e7986c00 CMakeVersion: Consider Git even with just a `.git` file ... Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3622 diff --cc Source/CMakeVersion.cmake index 0bde5ff,193c14f..63a4207 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@@ -1,5 -1,82 +1,82 @@@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 15) -set(CMake_VERSION_PATCH 20190726) +set(CMake_VERSION_PATCH 20190730) #set(CMake_VERSION_RC 0) + set(CMake_VERSION_IS_DIRTY 0) + + # Start with the full version number used in tags. It has no dev info. + set(CMake_VERSION + "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") + if(DEFINED CMake_VERSION_RC) + set(CMake_VERSION "${CMake_VERSION}-rc${CMake_VERSION_RC}") + endif() + + # Releases define a small patch level. + if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) + set(CMake_VERSION_IS_RELEASE 1) + else() + set(CMake_VERSION_IS_RELEASE 0) + endif() + + if(EXISTS ${CMake_SOURCE_DIR}/.git) + find_package(Git QUIET) + if(GIT_FOUND) + macro(_git) + execute_process( + COMMAND ${GIT_EXECUTABLE} ${ARGN} + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + RESULT_VARIABLE _git_res + OUTPUT_VARIABLE _git_out OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_VARIABLE _git_err ERROR_STRIP_TRAILING_WHITESPACE + ) + 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$]==]) + endif() + + # Extract commit information if available. + if(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]* (.*)$") + # Have commit information. + set(git_hash "${CMAKE_MATCH_1}") + set(git_subject "${CMAKE_MATCH_2}") + + # If this is not the exact commit of a release, add dev info. + if(NOT "${git_subject}" MATCHES "^[Cc][Mm]ake ${CMake_VERSION}$") + set(CMake_VERSION "${CMake_VERSION}-g${git_hash}") + endif() + + # If this is a work tree, check whether it is dirty. + if(COMMAND _git) + _git(update-index -q --refresh) + _git(diff-index --name-only HEAD --) + if(_git_out) + set(CMake_VERSION_IS_DIRTY 1) + endif() + endif() + else() + # No commit information. + if(NOT CMake_VERSION_IS_RELEASE) + # Generic development version. + set(CMake_VERSION "${CMake_VERSION}-git") + endif() + endif() + + # Extract the version suffix component. + if(CMake_VERSION MATCHES "-(.*)$") + set(CMake_VERSION_SUFFIX "${CMAKE_MATCH_1}") + else() + set(CMake_VERSION_SUFFIX "") + endif() + if(CMake_VERSION_IS_DIRTY) + set(CMake_VERSION ${CMake_VERSION}-dirty) + endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe2c558ba66dd6a12cf9289adf692c9a76c71ef4 commit fe2c558ba66dd6a12cf9289adf692c9a76c71ef4 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 09:17:53 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:37:32 2019 -0400 CMakeVersion: Preserve Git information during 'git archive' Use `export-subst` to get information about the Git commit used to produce an archive. diff --git a/Source/.gitattributes b/Source/.gitattributes index 7c160cc..d0aedc2 100644 --- a/Source/.gitattributes +++ b/Source/.gitattributes @@ -1,2 +1,4 @@ +CMakeVersion.cmake export-subst + # Do not format third-party sources. /kwsys/** -format.clang-format-6.0 diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 32a40f9..193c14f 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -39,6 +39,9 @@ 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$]==]) endif() # Extract commit information if available. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0505a66cbf6c42ffa3592c9866c5772e7806f5fc commit 0505a66cbf6c42ffa3592c9866c5772e7806f5fc Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 09:15:18 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: Add generic '-git' suffix when no git info is available diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index c576a24..32a40f9 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -60,6 +60,12 @@ if(git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f] set(CMake_VERSION_IS_DIRTY 1) endif() endif() +else() + # No commit information. + if(NOT CMake_VERSION_IS_RELEASE) + # Generic development version. + set(CMake_VERSION "${CMake_VERSION}-git") + endif() endif() # Extract the version suffix component. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f7bf08754be661e936d1131b91ca48616cdb9044 commit f7bf08754be661e936d1131b91ca48616cdb9044 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 09:04:52 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: Provide Git information in non-exact release versions Our exact release commits have a subject of the form `CMake <version>`. Distinguish development on a release branch in commits after such a version but before the next release by providing Git information. diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index d3d866e..c576a24 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -34,17 +34,30 @@ if(EXISTS ${CMake_SOURCE_DIR}/.git) endif() endif() -if(NOT CMake_VERSION_IS_RELEASE) - # Try to identify the current development source version. +# 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}") +endif() + +# Extract commit information if available. +if(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]* (.*)$") + # Have commit information. + set(git_hash "${CMAKE_MATCH_1}") + set(git_subject "${CMAKE_MATCH_2}") + + # If this is not the exact commit of a release, add dev info. + if(NOT "${git_subject}" MATCHES "^[Cc][Mm]ake ${CMake_VERSION}$") + set(CMake_VERSION "${CMake_VERSION}-g${git_hash}") + endif() + + # If this is a work tree, check whether it is dirty. if(COMMAND _git) - _git(rev-parse --verify -q --short=4 HEAD) + _git(update-index -q --refresh) + _git(diff-index --name-only HEAD --) if(_git_out) - set(CMake_VERSION "${CMake_VERSION}-g${_git_out}") - _git(update-index -q --refresh) - _git(diff-index --name-only HEAD --) - if(_git_out) - set(CMake_VERSION_IS_DIRTY 1) - endif() + set(CMake_VERSION_IS_DIRTY 1) endif() endif() endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ac48259333b1b5b5a75e0c2d2f8413bbab782a3e commit ac48259333b1b5b5a75e0c2d2f8413bbab782a3e Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 08:51:04 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: Re-order logic to obviate addition of each component diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index d3e734c..d3d866e 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -4,7 +4,20 @@ set(CMake_VERSION_MINOR 15) set(CMake_VERSION_PATCH 20190726) #set(CMake_VERSION_RC 0) set(CMake_VERSION_IS_DIRTY 0) -set(CMake_VERSION_SOURCE "") + +# Start with the full version number used in tags. It has no dev info. +set(CMake_VERSION + "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") +if(DEFINED CMake_VERSION_RC) + set(CMake_VERSION "${CMake_VERSION}-rc${CMake_VERSION_RC}") +endif() + +# Releases define a small patch level. +if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) + set(CMake_VERSION_IS_RELEASE 1) +else() + set(CMake_VERSION_IS_RELEASE 0) +endif() if(EXISTS ${CMake_SOURCE_DIR}/.git) find_package(Git QUIET) @@ -21,16 +34,12 @@ if(EXISTS ${CMake_SOURCE_DIR}/.git) endif() endif() -# Releases define a small patch level. -if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) - set(CMake_VERSION_IS_RELEASE 1) -else() - set(CMake_VERSION_IS_RELEASE 0) +if(NOT CMake_VERSION_IS_RELEASE) # Try to identify the current development source version. if(COMMAND _git) _git(rev-parse --verify -q --short=4 HEAD) if(_git_out) - set(CMake_VERSION_SOURCE "g${_git_out}") + set(CMake_VERSION "${CMake_VERSION}-g${_git_out}") _git(update-index -q --refresh) _git(diff-index --name-only HEAD --) if(_git_out) @@ -40,18 +49,12 @@ else() endif() endif() -# Compute the full version string. -set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}) -if(CMake_VERSION_SOURCE) - set(CMake_VERSION_SUFFIX "${CMake_VERSION_SOURCE}") -elseif(DEFINED CMake_VERSION_RC) - set(CMake_VERSION_SUFFIX "rc${CMake_VERSION_RC}") +# Extract the version suffix component. +if(CMake_VERSION MATCHES "-(.*)$") + set(CMake_VERSION_SUFFIX "${CMAKE_MATCH_1}") else() set(CMake_VERSION_SUFFIX "") endif() -if(CMake_VERSION_SUFFIX) - set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SUFFIX}) -endif() if(CMake_VERSION_IS_DIRTY) set(CMake_VERSION ${CMake_VERSION}-dirty) endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=311f232f7a045cd781171c2660ef005fb8074e3d commit 311f232f7a045cd781171c2660ef005fb8074e3d Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 08:39:38 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: De-duplicate variable initialization diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index abfacad..d3e734c 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -3,6 +3,8 @@ set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 15) set(CMake_VERSION_PATCH 20190726) #set(CMake_VERSION_RC 0) +set(CMake_VERSION_IS_DIRTY 0) +set(CMake_VERSION_SOURCE "") if(EXISTS ${CMake_SOURCE_DIR}/.git) find_package(Git QUIET) @@ -21,14 +23,10 @@ endif() # Releases define a small patch level. if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) - set(CMake_VERSION_IS_DIRTY 0) set(CMake_VERSION_IS_RELEASE 1) - set(CMake_VERSION_SOURCE "") else() - set(CMake_VERSION_IS_DIRTY 0) set(CMake_VERSION_IS_RELEASE 0) # Try to identify the current development source version. - set(CMake_VERSION_SOURCE "") if(COMMAND _git) _git(rev-parse --verify -q --short=4 HEAD) if(_git_out) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2f608566b4d19192df2d2213d570692075504b29 commit 2f608566b4d19192df2d2213d570692075504b29 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 08:37:11 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: Factor git execution into helper macro diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 4616dee..abfacad 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -4,6 +4,21 @@ set(CMake_VERSION_MINOR 15) set(CMake_VERSION_PATCH 20190726) #set(CMake_VERSION_RC 0) +if(EXISTS ${CMake_SOURCE_DIR}/.git) + find_package(Git QUIET) + if(GIT_FOUND) + macro(_git) + execute_process( + COMMAND ${GIT_EXECUTABLE} ${ARGN} + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + RESULT_VARIABLE _git_res + OUTPUT_VARIABLE _git_out OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_VARIABLE _git_err ERROR_STRIP_TRAILING_WHITESPACE + ) + endmacro() + endif() +endif() + # Releases define a small patch level. if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) set(CMake_VERSION_IS_DIRTY 0) @@ -14,30 +29,14 @@ else() set(CMake_VERSION_IS_RELEASE 0) # Try to identify the current development source version. set(CMake_VERSION_SOURCE "") - if(EXISTS ${CMake_SOURCE_DIR}/.git) - find_package(Git QUIET) - if(GIT_FOUND) - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=4 HEAD - OUTPUT_VARIABLE head - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - if(head) - set(CMake_VERSION_SOURCE "g${head}") - execute_process( - COMMAND ${GIT_EXECUTABLE} update-index -q --refresh - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - execute_process( - COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD -- - OUTPUT_VARIABLE dirty - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - if(dirty) - set(CMake_VERSION_IS_DIRTY 1) - endif() + if(COMMAND _git) + _git(rev-parse --verify -q --short=4 HEAD) + if(_git_out) + set(CMake_VERSION_SOURCE "g${_git_out}") + _git(update-index -q --refresh) + _git(diff-index --name-only HEAD --) + if(_git_out) + set(CMake_VERSION_IS_DIRTY 1) endif() endif() endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=74ff80323c23a41b4b311b0cf67d6f5f59034d08 commit 74ff80323c23a41b4b311b0cf67d6f5f59034d08 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 08:24:48 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:44 2019 -0400 CMakeVersion: Use FindGit module to find Git We now require at least CMake 3.1 to build, and that has the FindGit module. diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 02cf748..4616dee 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -15,9 +15,8 @@ else() # Try to identify the current development source version. set(CMake_VERSION_SOURCE "") if(EXISTS ${CMake_SOURCE_DIR}/.git) - find_program(GIT_EXECUTABLE NAMES git git.cmd) - mark_as_advanced(GIT_EXECUTABLE) - if(GIT_EXECUTABLE) + find_package(Git QUIET) + if(GIT_FOUND) execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=4 HEAD OUTPUT_VARIABLE head https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e1e7986c00912a89b644ff60a8e63189f8ba1ac5 commit e1e7986c00912a89b644ff60a8e63189f8ba1ac5 Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Jul 25 08:23:11 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:43 2019 -0400 CMakeVersion: Consider Git even with just a `.git` file diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index e406b4c..02cf748 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -14,7 +14,7 @@ else() set(CMake_VERSION_IS_RELEASE 0) # Try to identify the current development source version. set(CMake_VERSION_SOURCE "") - if(EXISTS ${CMake_SOURCE_DIR}/.git/HEAD) + if(EXISTS ${CMake_SOURCE_DIR}/.git) find_program(GIT_EXECUTABLE NAMES git git.cmd) mark_as_advanced(GIT_EXECUTABLE) if(GIT_EXECUTABLE) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=564bcb4cb3fa8182308d3501b9b98aee1bf837d1 commit 564bcb4cb3fa8182308d3501b9b98aee1bf837d1 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jul 23 16:46:38 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:43 2019 -0400 CMakeVersion: Move git logic to main script diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 08d3169..e406b4c 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -10,9 +10,38 @@ if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) set(CMake_VERSION_IS_RELEASE 1) set(CMake_VERSION_SOURCE "") else() - set(CMake_VERSION_IS_DIRTY 0) # may be set to 1 by CMakeVersionSource + set(CMake_VERSION_IS_DIRTY 0) set(CMake_VERSION_IS_RELEASE 0) - include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake) + # Try to identify the current development source version. + set(CMake_VERSION_SOURCE "") + if(EXISTS ${CMake_SOURCE_DIR}/.git/HEAD) + find_program(GIT_EXECUTABLE NAMES git git.cmd) + mark_as_advanced(GIT_EXECUTABLE) + if(GIT_EXECUTABLE) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=4 HEAD + OUTPUT_VARIABLE head + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + ) + if(head) + set(CMake_VERSION_SOURCE "g${head}") + execute_process( + COMMAND ${GIT_EXECUTABLE} update-index -q --refresh + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + ) + execute_process( + COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD -- + OUTPUT_VARIABLE dirty + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + ) + if(dirty) + set(CMake_VERSION_IS_DIRTY 1) + endif() + endif() + endif() + endif() endif() # Compute the full version string. diff --git a/Source/CMakeVersionSource.cmake b/Source/CMakeVersionSource.cmake deleted file mode 100644 index 5ea1de3..0000000 --- a/Source/CMakeVersionSource.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# Try to identify the current development source version. -set(CMake_VERSION_SOURCE "") -if(EXISTS ${CMake_SOURCE_DIR}/.git/HEAD) - find_program(GIT_EXECUTABLE NAMES git git.cmd) - mark_as_advanced(GIT_EXECUTABLE) - if(GIT_EXECUTABLE) - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=4 HEAD - OUTPUT_VARIABLE head - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - if(head) - set(CMake_VERSION_SOURCE "g${head}") - execute_process( - COMMAND ${GIT_EXECUTABLE} update-index -q --refresh - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - execute_process( - COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD -- - OUTPUT_VARIABLE dirty - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMake_SOURCE_DIR} - ) - if(dirty) - set(CMake_VERSION_IS_DIRTY 1) - endif() - endif() - endif() -endif() https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ecdf38aa36cfcc897e585ba05fd6f6e738bb5157 commit ecdf38aa36cfcc897e585ba05fd6f6e738bb5157 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jul 23 16:41:29 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:43 2019 -0400 CMakeVersion: Move computation logic to main script diff --git a/CMakeLists.txt b/CMakeLists.txt index 5efa077..75ac8bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -626,8 +626,7 @@ endif() # The main section of the CMakeLists file # #----------------------------------------------------------------------- -# Compute CMake_VERSION, etc. -include(Source/CMakeVersionCompute.cmake) +include(Source/CMakeVersion.cmake) # Include the standard Dart testing module enable_testing() diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index ea3b43a..08d3169 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -3,3 +3,30 @@ set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 15) set(CMake_VERSION_PATCH 20190726) #set(CMake_VERSION_RC 0) + +# Releases define a small patch level. +if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) + set(CMake_VERSION_IS_DIRTY 0) + set(CMake_VERSION_IS_RELEASE 1) + set(CMake_VERSION_SOURCE "") +else() + set(CMake_VERSION_IS_DIRTY 0) # may be set to 1 by CMakeVersionSource + set(CMake_VERSION_IS_RELEASE 0) + include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake) +endif() + +# Compute the full version string. +set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}) +if(CMake_VERSION_SOURCE) + set(CMake_VERSION_SUFFIX "${CMake_VERSION_SOURCE}") +elseif(DEFINED CMake_VERSION_RC) + set(CMake_VERSION_SUFFIX "rc${CMake_VERSION_RC}") +else() + set(CMake_VERSION_SUFFIX "") +endif() +if(CMake_VERSION_SUFFIX) + set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SUFFIX}) +endif() +if(CMake_VERSION_IS_DIRTY) + set(CMake_VERSION ${CMake_VERSION}-dirty) +endif() diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake deleted file mode 100644 index 136851c..0000000 --- a/Source/CMakeVersionCompute.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# Load version number components. -include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake) - -# Releases define a small patch level. -if("${CMake_VERSION_PATCH}" VERSION_LESS 20000000) - set(CMake_VERSION_IS_DIRTY 0) - set(CMake_VERSION_IS_RELEASE 1) - set(CMake_VERSION_SOURCE "") -else() - set(CMake_VERSION_IS_DIRTY 0) # may be set to 1 by CMakeVersionSource - set(CMake_VERSION_IS_RELEASE 0) - include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake) -endif() - -# Compute the full version string. -set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}) -if(CMake_VERSION_SOURCE) - set(CMake_VERSION_SUFFIX "${CMake_VERSION_SOURCE}") -elseif(DEFINED CMake_VERSION_RC) - set(CMake_VERSION_SUFFIX "rc${CMake_VERSION_RC}") -else() - set(CMake_VERSION_SUFFIX "") -endif() -if(CMake_VERSION_SUFFIX) - set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SUFFIX}) -endif() -if(CMake_VERSION_IS_DIRTY) - set(CMake_VERSION ${CMake_VERSION}-dirty) -endif() diff --git a/Utilities/Doxygen/CMakeLists.txt b/Utilities/Doxygen/CMakeLists.txt index ce4cfaf..f52caed 100644 --- a/Utilities/Doxygen/CMakeLists.txt +++ b/Utilities/Doxygen/CMakeLists.txt @@ -7,7 +7,7 @@ if(NOT CMake_SOURCE_DIR) get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH) get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH) include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake) - include(${CMake_SOURCE_DIR}/Source/CMakeVersionCompute.cmake) + include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake) include(${CMake_SOURCE_DIR}/Source/CMakeInstallDestinations.cmake) unset(CMAKE_DATA_DIR) unset(CMAKE_DATA_DIR CACHE) diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index e4e6e05..736a7c0 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -7,7 +7,7 @@ if(NOT CMake_SOURCE_DIR) get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH) get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH) include(${CMake_SOURCE_DIR}/Modules/CTestUseLaunchers.cmake) - include(${CMake_SOURCE_DIR}/Source/CMakeVersionCompute.cmake) + include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake) include(${CMake_SOURCE_DIR}/Source/CMakeInstallDestinations.cmake) unset(CMAKE_DATA_DIR) unset(CMAKE_DATA_DIR CACHE) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8cf4aec5acc2a3a10abbbbbde17c18d96a97e139 commit 8cf4aec5acc2a3a10abbbbbde17c18d96a97e139 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Jul 23 20:40:16 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:43 2019 -0400 CMakeVersion.rc: Compute resource components only on Windows diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 8117916..efd44f4 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -1159,6 +1159,21 @@ include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL) include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL) if(WIN32) + # Compute the binary version that appears in the RC file. Version + # components in the RC file are 16-bit integers so we may have to + # split the patch component. + if(CMake_VERSION_PATCH MATCHES "^([0-9]+)([0-9][0-9][0-9][0-9])$") + set(CMake_RCVERSION_YEAR "${CMAKE_MATCH_1}") + set(CMake_RCVERSION_MONTH_DAY "${CMAKE_MATCH_2}") + string(REGEX REPLACE "^0+" "" CMake_RCVERSION_MONTH_DAY "${CMake_RCVERSION_MONTH_DAY}") + set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_RCVERSION_YEAR},${CMake_RCVERSION_MONTH_DAY}) + unset(CMake_RCVERSION_MONTH_DAY) + unset(CMake_RCVERSION_YEAR) + else() + set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH}) + endif() + set(CMake_RCVERSION_STR ${CMake_VERSION}) + # Add Windows executable version information. configure_file("CMakeVersion.rc.in" "CMakeVersion.rc" @ONLY) diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake index 160f470..136851c 100644 --- a/Source/CMakeVersionCompute.cmake +++ b/Source/CMakeVersionCompute.cmake @@ -27,18 +27,3 @@ endif() if(CMake_VERSION_IS_DIRTY) set(CMake_VERSION ${CMake_VERSION}-dirty) endif() - -# Compute the binary version that appears in the RC file. Version -# components in the RC file are 16-bit integers so we may have to -# split the patch component. -if(CMake_VERSION_PATCH MATCHES "^([0-9]+)([0-9][0-9][0-9][0-9])$") - set(CMake_RCVERSION_YEAR "${CMAKE_MATCH_1}") - set(CMake_RCVERSION_MONTH_DAY "${CMAKE_MATCH_2}") - string(REGEX REPLACE "^0+" "" CMake_RCVERSION_MONTH_DAY "${CMake_RCVERSION_MONTH_DAY}") - set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_RCVERSION_YEAR},${CMake_RCVERSION_MONTH_DAY}) - unset(CMake_RCVERSION_MONTH_DAY) - unset(CMake_RCVERSION_YEAR) -else() - set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH}) -endif() -set(CMake_RCVERSION_STR ${CMake_VERSION}) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3cb87cbbeed58b0e82246ff193ac5cdb7b05ee41 commit 3cb87cbbeed58b0e82246ff193ac5cdb7b05ee41 Author: Brad King <brad.k...@kitware.com> AuthorDate: Sun Jul 21 20:30:32 2019 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Jul 29 11:25:43 2019 -0400 gitattributes: Do not export any .git paths in git archive We have paths for `.gitattributes` itself, `.gitignore`, and `.github`. None should be exported in source archives. diff --git a/.gitattributes b/.gitattributes index 24fd9c2..3854b73 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ -.gitattributes export-ignore +.git* export-ignore .hooks* export-ignore # Custom attribute to mark sources as using our C code style. ----------------------------------------------------------------------- Summary of changes: .gitattributes | 2 +- CMakeLists.txt | 3 +- Source/.gitattributes | 2 ++ Source/CMakeLists.txt | 15 ++++++++ Source/CMakeVersion.cmake | 77 ++++++++++++++++++++++++++++++++++++++++ Source/CMakeVersionCompute.cmake | 44 ----------------------- Source/CMakeVersionSource.cmake | 30 ---------------- Utilities/Doxygen/CMakeLists.txt | 2 +- Utilities/Sphinx/CMakeLists.txt | 2 +- 9 files changed, 98 insertions(+), 79 deletions(-) delete mode 100644 Source/CMakeVersionCompute.cmake delete mode 100644 Source/CMakeVersionSource.cmake hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits