Browse Source

set QGC version from git

QGC4.4
Daniel Agar 10 years ago
parent
commit
56f05dc8ea
  1. 3
      .gitignore
  2. 1
      QGCApplication.pro
  3. 26
      git_version.pri
  4. 5
      qgroundcontrol.pro
  5. 11
      src/QGCApplication.cc
  6. 17
      src/QGCConfig.h
  7. 3
      src/git_version.h

3
.gitignore vendored

@ -68,7 +68,8 @@ ui_* @@ -68,7 +68,8 @@ ui_*
*.so*
*.moc
*.prl
git_version.cpp
git_version.obj
# android
android/local.properties
android/gradle.properties

1
QGCApplication.pro

@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
# -------------------------------------------------
include(QGCCommon.pri)
include(git_version.pri)
TARGET = qgroundcontrol
TEMPLATE = app

26
git_version.pri

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
# set the QGC version from git
exists ($$PWD/.git) {
GIT_DESCRIBE = $$system(git --git-dir $$PWD/.git --work-tree $$PWD describe --always --tags)
WindowsBuild {
QGC_GIT_VER = echo extern \"C\" { const char *git_version() { return \"$$GIT_DESCRIBE\"; } } > git_version.cpp
LIBS += git_version.obj
} else {
QGC_GIT_VER = echo \"extern \\\"C\\\" { const char *git_version() { return \\\"$$GIT_DESCRIBE\\\"; } }\" > git_version.cpp
LIBS += git_version.o
}
}
WindowsBuild {
LIBS += git_version.obj
} else {
LIBS += git_version.o
}
CONFIG(debug) {
GIT_VERSION_CXXFLAGS = $$QMAKE_CXXFLAGS_DEBUG
} else {
GIT_VERSION_CXXFLAGS = $$QMAKE_CXXFLAGS_RELEASE
}
QMAKE_PRE_LINK += $$QGC_GIT_VER && $$QMAKE_CXX -c $$GIT_VERSION_CXXFLAGS git_version.cpp

5
qgroundcontrol.pro

@ -22,6 +22,8 @@ CONFIG += ordered @@ -22,6 +22,8 @@ CONFIG += ordered
SUBDIRS = ./QGCLocationPlugin.pro
SUBDIRS += ./QGCApplication.pro
include(git_version.pri)
QGCApplication.depends = QGCLocationPlugin
message(Qt version $$[QT_VERSION])
@ -30,3 +32,6 @@ message(Qt version $$[QT_VERSION]) @@ -30,3 +32,6 @@ message(Qt version $$[QT_VERSION])
error("Unsupported Qt version, 5.4+ is required")
}
message(QGroundControl version $${GIT_DESCRIBE})
git_ver.commands = $$QGC_GIT_VER
QMAKE_EXTRA_TARGETS += git_ver

11
src/QGCApplication.cc

@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
#include "VideoStreaming.h"
#include "git_version.h"
#include "QGC.h"
#include "QGCApplication.h"
#include "MainWindow.h"
@ -276,10 +277,12 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) @@ -276,10 +277,12 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting)
setOrganizationName(QGC_ORG_NAME);
setOrganizationDomain(QGC_ORG_DOMAIN);
// Version string is build from component parts. Format is:
// vMajor.Minor.BuildNumber BuildType
QString versionString("v%1.%2.%3 %4");
versionString = versionString.arg(QGC_APPLICATION_VERSION_MAJOR).arg(QGC_APPLICATION_VERSION_MINOR).arg(QGC_APPLICATION_VERSION_BUILDNUMBER).arg(QGC_APPLICATION_VERSION_BUILDTYPE);
QString versionString(git_version());
// 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);
// Set settings format

17
src/QGCConfig.h

@ -18,21 +18,4 @@ @@ -18,21 +18,4 @@
#define QGC_ORG_NAME "QGroundControl.org"
#define QGC_ORG_DOMAIN "org.qgroundcontrol"
#define QGC_APPLICATION_VERSION_MAJOR 2
#define QGC_APPLICATION_VERSION_MINOR 8
// The following #definess can be overriden from the command line so that automated build systems can
// add additional build identification.
// Only comes from command line
//#define QGC_APPLICATION_VERSION_COMMIT "..."
#ifndef QGC_APPLICATION_VERSION_BUILDNUMBER
#define QGC_APPLICATION_VERSION_BUILDNUMBER 0
#endif
#ifndef QGC_APPLICATION_VERSION_BUILDTYPE
#define QGC_APPLICATION_VERSION_BUILDTYPE "(Development)"
#endif
#endif // QGC_CONFIGURATION_H

3
src/git_version.h

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
extern "C" {
const char *git_version();
}
Loading…
Cancel
Save