Commit fcdee75e authored by Daniel Agar's avatar Daniel Agar

set QGC version from git

parent 26a6fd79
...@@ -67,3 +67,5 @@ ui_* ...@@ -67,3 +67,5 @@ ui_*
*.so* *.so*
*.moc *.moc
*.prl *.prl
git_version.cpp
git_version.obj
...@@ -18,9 +18,10 @@ ...@@ -18,9 +18,10 @@
# ------------------------------------------------- # -------------------------------------------------
include(QGCCommon.pri) include(QGCCommon.pri)
include(git_version.pri)
TARGET = qgroundcontrol TARGET = qgroundcontrol
TEMPLATE = app TEMPLATE = app
# Load additional config flags from user_config.pri # Load additional config flags from user_config.pri
exists(user_config.pri):infile(user_config.pri, CONFIG) { exists(user_config.pri):infile(user_config.pri, CONFIG) {
......
# 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
...@@ -22,6 +22,8 @@ CONFIG += ordered ...@@ -22,6 +22,8 @@ CONFIG += ordered
SUBDIRS = ./QGCLocationPlugin.pro SUBDIRS = ./QGCLocationPlugin.pro
SUBDIRS += ./QGCApplication.pro SUBDIRS += ./QGCApplication.pro
include(git_version.pri)
QGCApplication.depends = QGCLocationPlugin QGCApplication.depends = QGCLocationPlugin
message(Qt version $$[QT_VERSION]) 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") error("Unsupported Qt version, 5.4+ is required")
} }
message(QGroundControl version $${GIT_DESCRIBE})
git_ver.commands = $$QGC_GIT_VER
QMAKE_EXTRA_TARGETS += git_ver
...@@ -48,6 +48,7 @@ GST_PLUGIN_STATIC_DECLARE(QTVIDEOSINK_NAME); ...@@ -48,6 +48,7 @@ GST_PLUGIN_STATIC_DECLARE(QTVIDEOSINK_NAME);
G_END_DECLS G_END_DECLS
#endif #endif
#include "git_version.h"
#include "configuration.h" #include "configuration.h"
#include "QGC.h" #include "QGC.h"
#include "QGCApplication.h" #include "QGCApplication.h"
...@@ -251,10 +252,12 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) ...@@ -251,10 +252,12 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting)
setOrganizationName(QGC_ORG_NAME); setOrganizationName(QGC_ORG_NAME);
setOrganizationDomain(QGC_ORG_DOMAIN); setOrganizationDomain(QGC_ORG_DOMAIN);
// Version string is build from component parts. Format is: QString versionString(git_version());
// vMajor.Minor.BuildNumber BuildType // stable versions are on tags (v1.2.3)
QString versionString("v%1.%2.%3 %4"); // development versions are full git describe versions (v1.2.3-18-g879e8b3)
versionString = versionString.arg(QGC_APPLICATION_VERSION_MAJOR).arg(QGC_APPLICATION_VERSION_MINOR).arg(QGC_APPLICATION_VERSION_BUILDNUMBER).arg(QGC_APPLICATION_VERSION_BUILDTYPE); if (versionString.length() > 8) {
versionString.append(" (Development)");
}
this->setApplicationVersion(versionString); this->setApplicationVersion(versionString);
// Set settings format // Set settings format
......
...@@ -18,21 +18,4 @@ ...@@ -18,21 +18,4 @@
#define QGC_ORG_NAME "QGroundControl.org" #define QGC_ORG_NAME "QGroundControl.org"
#define QGC_ORG_DOMAIN "org.qgroundcontrol" #define QGC_ORG_DOMAIN "org.qgroundcontrol"
#define QGC_APPLICATION_VERSION_MAJOR 2
#define QGC_APPLICATION_VERSION_MINOR 7
// 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 1
#endif
#ifndef QGC_APPLICATION_VERSION_BUILDTYPE
#define QGC_APPLICATION_VERSION_BUILDTYPE "(Stable)"
#endif
#endif // QGC_CONFIGURATION_H #endif // QGC_CONFIGURATION_H
extern "C" {
const char *git_version();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment