aboutsummaryrefslogtreecommitdiff
path: root/src/version.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/version.cmake')
-rw-r--r--src/version.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/version.cmake b/src/version.cmake
new file mode 100644
index 000000000..880224dc6
--- /dev/null
+++ b/src/version.cmake
@@ -0,0 +1,11 @@
+execute_process(COMMAND "${GIT}" describe --dirty --match "v${VERSION}" RESULT_VARIABLE RET OUTPUT_VARIABLE DESCRIPTION OUTPUT_STRIP_TRAILING_WHITESPACE)
+if(RET)
+ message(WARNING "Cannot determine current revision. Make sure that you are building either from a Git working tree or from a source archive.")
+ set(VERSION "${COMMIT}")
+ configure_file("src/version.h.in" "${TO}")
+else()
+ string(REGEX MATCH "([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])?(-dirty)? $" COMMIT "${DESCRIPTION} ")
+ string(STRIP "${COMMIT}" COMMIT)
+ set(VERSION "${COMMIT}")
+ configure_file("src/version.h.in" "${TO}")
+endif() \ No newline at end of file