From 5704fb36d208e250490e6fb56268e75e0b9b3290 Mon Sep 17 00:00:00 2001
From: est31 <MTest31@outlook.com>
Date: Fri, 1 May 2015 11:48:59 +0200
Subject: [PATCH] Better version detection for shallow clones

---
 cmake/Modules/GenerateVersion.cmake | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/cmake/Modules/GenerateVersion.cmake b/cmake/Modules/GenerateVersion.cmake
index 76a0a90c6..9b5304ad5 100644
--- a/cmake/Modules/GenerateVersion.cmake
+++ b/cmake/Modules/GenerateVersion.cmake
@@ -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()
 
-- 
GitLab