Make CMake version dirty state available to code
Set `CMake_VERSION_IS_DIRTY` to 1 or 0 depending on whether the CMake source tree is considered dirty or not.
This commit is contained in:
parent
6a077b5d63
commit
af0e1cd4cb
|
@ -3,6 +3,7 @@ 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()
|
||||
|
@ -22,3 +23,6 @@ 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()
|
||||
|
|
|
@ -23,7 +23,9 @@ if(EXISTS ${CMake_SOURCE_DIR}/.git/HEAD)
|
|||
WORKING_DIRECTORY ${CMake_SOURCE_DIR}
|
||||
)
|
||||
if(dirty)
|
||||
set(CMake_VERSION_SOURCE "${CMake_VERSION_SOURCE}-dirty")
|
||||
set(CMake_VERSION_IS_DIRTY 1)
|
||||
else()
|
||||
set(CMake_VERSION_IS_DIRTY 0)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -13,4 +13,5 @@
|
|||
#define CMake_VERSION_MINOR @CMake_VERSION_MINOR@
|
||||
#define CMake_VERSION_PATCH @CMake_VERSION_PATCH@
|
||||
#define CMake_VERSION_SUFFIX "@CMake_VERSION_SUFFIX@"
|
||||
#define CMake_VERSION_IS_DIRTY @CMake_VERSION_IS_DIRTY@
|
||||
#define CMake_VERSION "@CMake_VERSION@"
|
||||
|
|
Loading…
Reference in New Issue