From 57b381cf7908717a58e09409600fb333eeebbb0d Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 9 Jul 2016 19:33:15 -0400 Subject: [PATCH] update version from git --- QGCCommon.pri | 25 ++++++++++++++++++------- src/QGCApplication.cc | 8 +------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/QGCCommon.pri b/QGCCommon.pri index 5caef6271..7f274829e 100644 --- a/QGCCommon.pri +++ b/QGCCommon.pri @@ -100,27 +100,38 @@ MobileBuild { exists ($$PWD/.git) { GIT_DESCRIBE = $$system(git --git-dir $$PWD/.git --work-tree $$PWD describe --always --tags) - GIT_HASH = $$system(git rev-parse HEAD) + GIT_BRANCH = $$system(git --git-dir $$PWD/.git --work-tree $$PWD rev-parse --abbrev-ref HEAD) + GIT_HASH = $$system(git --git-dir $$PWD/.git --work-tree $$PWD rev-parse --short HEAD) + GIT_TIME = $$system(git --git-dir $$PWD/.git --work-tree $$PWD show --oneline --format=\"%ci\" -s HEAD) + + # determine if we're on a tag matching vX.Y.Z (stable release) + GIT_TAG = $$system(git --git-dir $$PWD/.git --work-tree $$PWD describe --exact-match --tags HEAD) + contains(GIT_TAG, v[0-9].[0-9].[0-9]) { + # release version "vX.Y.Z" + GIT_VERSION = $${GIT_DESCRIBE} + } else { + # development version "Development branch:sha date" + GIT_VERSION = "Development $${GIT_BRANCH}:$${GIT_HASH} $${GIT_TIME}" + } + VERSION = $$replace(GIT_DESCRIBE, "v", "") VERSION = $$replace(VERSION, "-", ".") VERSION = $$section(VERSION, ".", 0, 3) MacBuild { MAC_VERSION = $$section(VERSION, ".", 0, 2) MAC_BUILD = $$section(VERSION, ".", 3, 3) - message(QGroundControl version $${MAC_VERSION} build $${MAC_BUILD} describe $${GIT_DESCRIBE} hash $${GIT_HASH}) + message(QGroundControl version $${MAC_VERSION} build $${MAC_BUILD} describe $${GIT_VERSION}) } else { - message(QGroundControl version $${VERSION} describe $${GIT_DESCRIBE} hash $${GIT_HASH}) + message(QGroundControl version $${VERSION} describe $${GIT_VERSION}) } } else { - GIT_DESCRIBE = None - GIT_HASH = None + GIT_VERSION = None VERSION = 0.0.0 # Marker to indicate out-of-tree build MAC_VERSION = 0.0.0 MAC_BUILD = 0 } -DEFINES += GIT_TAG=\"\\\"$$GIT_DESCRIBE\\\"\" -DEFINES += GIT_HASH=\"\\\"$$GIT_HASH\\\"\" +DEFINES += GIT_VERSION=\"\\\"$$GIT_VERSION\\\"\" DEFINES += EIGEN_MPL2_ONLY # Installer configuration diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index a28fb372f..697fc95c0 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -274,13 +274,7 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) setOrganizationName(QGC_ORG_NAME); setOrganizationDomain(QGC_ORG_DOMAIN); - QString versionString(GIT_TAG); - // stable versions are on tags (v1.2.3) - // development versions are full git describe versions (v1.2.3-18-g879e8b3) - if (versionString.length() > 8) { - versionString.append(" (Development)"); - } - this->setApplicationVersion(versionString); + this->setApplicationVersion(QString(GIT_VERSION)); // Set settings format QSettings::setDefaultFormat(QSettings::IniFormat); -- 2.22.0