Better version detection for shallow clones
authorest31 <MTest31@outlook.com>
Fri, 1 May 2015 09:48:59 +0000 (11:48 +0200)
committerest31 <MTest31@outlook.com>
Sun, 3 May 2015 14:47:22 +0000 (16:47 +0200)
cmake/Modules/GenerateVersion.cmake

index 76a0a90c68b1b8f2a0315f5f15c6ff4b15592e03..9b5304ad53939e32324cd24f5ce22519a832d998 100644 (file)
@@ -3,7 +3,7 @@
 if(VERSION_EXTRA)
        set(VERSION_GITHASH "${VERSION_STRING}")
 else()
-       execute_process(COMMAND git describe --always --tag --dirty
+       execute_process(COMMAND git describe --tag --dirty
                WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}"
                OUTPUT_VARIABLE VERSION_GITHASH OUTPUT_STRIP_TRAILING_WHITESPACE
                ERROR_QUIET)
@@ -11,7 +11,16 @@ else()
        if(VERSION_GITHASH)
                message(STATUS "*** Detected Git version ${VERSION_GITHASH} ***")
        else()
-               set(VERSION_GITHASH "${VERSION_STRING}")
+               execute_process(COMMAND git describe --always --tag --dirty
+                       WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}"
+                       OUTPUT_VARIABLE VERSION_GITHASH OUTPUT_STRIP_TRAILING_WHITESPACE
+                       ERROR_QUIET)
+               if(VERSION_GITHASH)
+                       set(VERSION_GITHASH "${VERSION_STRING}-${VERSION_GITHASH}")
+                       message(STATUS "*** Detected shallow Git version ${VERSION_GITHASH} ***")
+               else()
+                       set(VERSION_GITHASH "${VERSION_STRING}")
+               endif()
        endif()
 endif()