diff options
author | Riccardo Spagni <ric@spagni.net> | 2014-09-12 13:06:51 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2014-09-12 13:12:43 +0200 |
commit | 8334ce0b2435e925efd54a6efc6f97478792b55c (patch) | |
tree | 6e8c9e684e67dc0e840df991bde4640c3f76f87b /src/version.cmake | |
parent | always check git diff (diff) | |
download | monero-8334ce0b2435e925efd54a6efc6f97478792b55c.tar.xz |
versioning now includes the commit hash, or -final for tagged releases
Diffstat (limited to '')
-rw-r--r-- | src/version.cmake | 26 |
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 |