summaryrefslogtreecommitdiffstats
path: root/subsurface-gen-version.pri
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-01 11:42:04 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-01 11:57:28 -0800
commitb5b26dc7560ae02d9161c3ee71119838fc8cf7e6 (patch)
treef0626dcbf4803bc7b08b44f36e01bc00941f1407 /subsurface-gen-version.pri
parente5c3799270fcc9c6726ce743f7662f5f42698f09 (diff)
downloadsubsurface-b5b26dc7560ae02d9161c3ee71119838fc8cf7e6.tar.gz
Try to bring some sanity into our version strings
VERSION_STRING is the one most appropriate for the target OS GIT_VERSION_STRING is the full version string with the git hash CANONICAL_VERSION_STRING is major.minor.submior.number_of_commits Mac allows only three components to the version Windows allows four Linux doesn't care This way we always know the full git hash (unless tagged or from tar) AND we can always have a version that can be easily compared / sorted. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-gen-version.pri')
-rw-r--r--subsurface-gen-version.pri10
1 files changed, 9 insertions, 1 deletions
diff --git a/subsurface-gen-version.pri b/subsurface-gen-version.pri
index 23d86570a..7d4cda513 100644
--- a/subsurface-gen-version.pri
+++ b/subsurface-gen-version.pri
@@ -15,6 +15,10 @@ exists(.git/HEAD): {
VERSION_STRING = $$system("sh scripts/get-version linux $$FULL_VERSION || echo $${VERSION}-git")
version_h.depends = $$VERSION_SCRIPT $$PWD/.git/$$system("$$SET_GIT_DIR=$$PWD/.git git rev-parse --symbolic-full-name HEAD")
version_h.commands = echo \\$${LITERAL_HASH}define VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT $$VER_OS || echo $$VERSION-git`\\\" > ${QMAKE_FILE_OUT}
+ version_h.commands += $$escape_expand(\\n)$$escape_expand(\\t)
+ version_h.commands += echo \\$${LITERAL_HASH}define GIT_VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT linux || echo $$VERSION-git`\\\" >> ${QMAKE_FILE_OUT}
+ version_h.commands += $$escape_expand(\\n)$$escape_expand(\\t)
+ version_h.commands += echo \\$${LITERAL_HASH}define CANONICAL_VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT full || echo $$VERSION-git`\\\" >> ${QMAKE_FILE_OUT}
version_h.input = GIT_HEAD
version_h.output = $$VERSION_FILE
version_h.variable_out = GENERATED_FILES
@@ -27,6 +31,10 @@ exists(.git/HEAD): {
} else {
FULL_VERSION = $$VERSION
}
- system(echo \\$${LITERAL_HASH}define VERSION_STRING \\\"$$FULL_VERSION\\\" > $$VERSION_FILE)
+ CANONICAL_VERSION = $$system("sh scripts/get-version full $$FULL_VERSION")
+ OS_USABLE_VERSION = $$system("sh scripts/get-version $$VER_OS $$FULL_VERSION")
+ system(echo \\$${LITERAL_HASH}define VERSION_STRING \\\"$$OS_USABLE_VERSION\\\" > $$VERSION_FILE)
+ system(echo \\$${LITERAL_HASH}define GIT_VERSION_STRING \\\"$$FULL_VERSION\\\" >> $$VERSION_FILE)
+ system(echo \\$${LITERAL_HASH}define CANONICAL_VERSION_STRING \\\"$$CANONICAL_VERSION\\\" >> $$VERSION_FILE)
QMAKE_CLEAN += $$VERSION_FILE
}