aboutsummaryrefslogtreecommitdiff
path: root/src/version.cmake
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2014-09-12 13:06:51 +0200
committerRiccardo Spagni <ric@spagni.net>2014-09-12 13:12:43 +0200
commit8334ce0b2435e925efd54a6efc6f97478792b55c (patch)
tree6e8c9e684e67dc0e840df991bde4640c3f76f87b /src/version.cmake
parentalways check git diff (diff)
downloadmonero-8334ce0b2435e925efd54a6efc6f97478792b55c.tar.xz
versioning now includes the commit hash, or -final for tagged releases
Diffstat (limited to '')
-rw-r--r--src/version.cmake26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/version.cmake b/src/version.cmake
index 880224dc6..40243c018 100644
--- a/src/version.cmake
+++ b/src/version.cmake
@@ -1,11 +1,25 @@
-execute_process(COMMAND "${GIT}" describe --dirty --match "v${VERSION}" RESULT_VARIABLE RET OUTPUT_VARIABLE DESCRIPTION OUTPUT_STRIP_TRAILING_WHITESPACE)
+execute_process(COMMAND "${GIT}" rev-parse --short HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT 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}")
+ message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.")
+ set(VERSIONTAG "unknown")
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}")
+ message(STATUS "You are currently on commit ${COMMIT}")
+ execute_process(COMMAND "${GIT}" show-ref --tags -d --abbrev COMMAND awk "END{print $1}" RESULT_VARIABLE RET OUTPUT_VARIABLE TAGGEDCOMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(RET)
+ message(WARNING "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.")
+ set(VERSIONTAG "${COMMIT}")
+ else()
+ message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}")
+ if(COMMIT MATCHES TAGGEDCOMMIT)
+ message(STATUS "You are building a tagged release")
+ set(VERSIONTAG "release")
+ else()
+ message(STATUS "You are ahead or behind of a tagged release")
+ set(VERSIONTAG "${COMMIT}")
+ endif()
+ endif()
+
configure_file("src/version.h.in" "${TO}")
endif() \ No newline at end of file