summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/version.cmake22
1 files changed, 16 insertions, 6 deletions
diff --git a/cmake/version.cmake b/cmake/version.cmake
index 77c79d12a..ee419bbc4 100644
--- a/cmake/version.cmake
+++ b/cmake/version.cmake
@@ -4,21 +4,31 @@ get_filename_component(SOURCE_DIR ${SRC} PATH)
if (GIT_EXECUTABLE)
EXECUTE_PROCESS(
- COMMAND ${GIT_EXECUTABLE} log -n 1 --format=%h
+ COMMAND ${GIT_EXECUTABLE} log "--format=%h %d"
WORKING_DIRECTORY "${SOURCE_DIR}"
OUTPUT_VARIABLE VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
else()
message(STATUS "git not found, cannot record git commit")
+ set(VERSION "0000")
endif(GIT_EXECUTABLE)
-set(NAVIT_VARIANT "-")
-if (DEFINED VERSION)
- set(${NAME} ${VERSION})
-else()
- set(${NAME} "---")
+string(REGEX MATCH "R[0-9]+" VERSION_NUM ${VERSION} )
+string(REPLACE "R" "" VERSION_NUM ${VERSION_NUM} )
+if(NOT VERSION_NUM)
+ set(VERSION_NUM "0000")
+endif()
+
+string(REGEX MATCH "^[a-z0-9]+" VERSION ${VERSION} )
+
+if (STRIP_M)
+ set(VERSION ${VERSION_NUM})
endif()
+set(NAVIT_VARIANT "-")
+
+set(${NAME} ${VERSION})
+
message (STATUS "Git commit: ${${NAME}}")
CONFIGURE_FILE(${SRC} ${DST} @ONLY)