From af0e1cd4cbb7029de0877de9db72ba37085abff2 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 8 Jul 2016 11:40:16 +0200 Subject: [PATCH] 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. --- Source/CMakeVersionCompute.cmake | 4 ++++ Source/CMakeVersionSource.cmake | 4 +++- Source/cmVersionConfig.h.in | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake index 806e9870b..3bdcfd6f9 100644 --- a/Source/CMakeVersionCompute.cmake +++ b/Source/CMakeVersionCompute.cmake @@ -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() diff --git a/Source/CMakeVersionSource.cmake b/Source/CMakeVersionSource.cmake index 888f557fb..bc5975e57 100644 --- a/Source/CMakeVersionSource.cmake +++ b/Source/CMakeVersionSource.cmake @@ -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() diff --git a/Source/cmVersionConfig.h.in b/Source/cmVersionConfig.h.in index af5c57b2c..92abfbece 100644 --- a/Source/cmVersionConfig.h.in +++ b/Source/cmVersionConfig.h.in @@ -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@"