diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-24 15:12:57 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-24 15:12:57 +0200 |
commit | 349ed63038fffe8835446a2f5bbea9d090f8ad51 (patch) | |
tree | 0c176a67447c16257af2aff6f8c4371aca465325 | |
parent | Update PKGBUILD to use meson (diff) | |
download | smolbote-349ed63038fffe8835446a2f5bbea9d090f8ad51.tar.xz |
Use vcs_tag to get version information
-rw-r--r-- | include/version.h.in | 12 | ||||
-rw-r--r-- | lib/about/aboutdialog.cpp | 3 | ||||
-rw-r--r-- | lib/about/meson.build | 3 | ||||
-rw-r--r-- | lib/configuration/meson.build | 3 | ||||
-rw-r--r-- | meson.build | 28 | ||||
-rw-r--r-- | src/browser.cpp | 3 | ||||
-rw-r--r-- | src/main.cpp | 6 | ||||
-rw-r--r-- | src/meson.build | 4 |
8 files changed, 30 insertions, 32 deletions
diff --git a/include/version.h.in b/include/version.h.in index c52ce77..44f10d9 100644 --- a/include/version.h.in +++ b/include/version.h.in @@ -1,14 +1,8 @@ #ifndef SMOLBOTE_VERSION_H #define SMOLBOTE_VERSION_H -// Version: 1.2.3 -#mesondefine poi_Version - -// Describe: 1.2.3-r123-0123456789ab -#mesondefine poi_Describe - -// Build -#mesondefine poi_Build +// output of 'git describe --long --abbrev=40': +// x.y.z-0-g0123456789012345678901234567890123456789 +#define poi_Version "@VCS_TAG@" #endif // SMOLBOTE_VERSION_H - diff --git a/lib/about/aboutdialog.cpp b/lib/about/aboutdialog.cpp index 555a69f..02ae2cf 100644 --- a/lib/about/aboutdialog.cpp +++ b/lib/about/aboutdialog.cpp @@ -48,8 +48,7 @@ AboutDialog::AboutDialog(QWidget *parent) "</ul>" "<p>This program is distributed in the hope that it will be useful, but without any warranty.</p>")); - ui->detailsLabel->setText(tr("<p>Version " poi_Describe "</p>" - "<p>Build " poi_Build "</p>" + ui->detailsLabel->setText(tr("<p>Version " poi_Version "</p>" "<p>Compiled with " compiler "</p>")); } diff --git a/lib/about/meson.build b/lib/about/meson.build index 38769a8..35598b3 100644 --- a/lib/about/meson.build +++ b/lib/about/meson.build @@ -6,8 +6,7 @@ about_moc = qt5.preprocess( about_inc = include_directories('.') about_lib = static_library('about', ['aboutdialog.cpp', about_moc], - dependencies: dep_qt5, - include_directories: genheader_inc + dependencies: [dep_qt5, dep_genheaders] ) dep_about = declare_dependency( diff --git a/lib/configuration/meson.build b/lib/configuration/meson.build index b166d5e..79daa78 100644 --- a/lib/configuration/meson.build +++ b/lib/configuration/meson.build @@ -5,8 +5,7 @@ configuration_moc = qt5.preprocess( ) configuration_lib = static_library('configuration', ['configuration.cpp', configuration_moc], - dependencies: [dep_boost, dep_qt5], - include_directories: genheader_inc + dependencies: [dep_boost, dep_qt5, dep_genheaders] ) dep_configuration = declare_dependency( diff --git a/meson.build b/meson.build index 0993749..b177e24 100644 --- a/meson.build +++ b/meson.build @@ -26,22 +26,26 @@ dep_plasma = declare_dependency( # Generate config header include = include_directories('include') -conf = configuration_data() -conf.set_quoted('poi_Version', '1.0.0') -conf.set_quoted('poi_Describe', '1.0.0-stable') -conf.set_quoted('poi_Build', 'custom-1.0.0') - -configure_file(configuration: conf, input: 'include/version.h.in', output: 'version.h') -genheader_inc = include_directories('.') +git = find_program('git').path() pymod = import('python') python3 = pymod.find_installation('python3') -kconfiggen = custom_target('configheader', - input: ['tools/config.py', 'src/Kconfig', 'linux/.config'], - output: 'config.h', - command: [python3, '@INPUT0@', '--kconfig=@INPUT1@', '--dotconfig=@INPUT2@', '--generate=@OUTPUT@'], - build_by_default: true +dep_genheaders = declare_dependency( + include_directories: include_directories('.'), + sources: [ + vcs_tag( + command: [git, 'describe', '--long', '--abbrev=40'], + #fallback: defaults to meson.project_version(), + input: 'include/version.h.in', + output: 'version.h' + ), + custom_target('configheader', + input: ['tools/config.py', 'src/Kconfig', 'linux/.config'], + output: 'config.h', + command: [python3, '@INPUT0@', '--kconfig=@INPUT1@', '--dotconfig=@INPUT2@', '--generate=@OUTPUT@'], + build_by_default: true + )] ) interfaces_moc = qt5.preprocess( diff --git a/src/browser.cpp b/src/browser.cpp index 22302ae..8ff8616 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -31,13 +31,14 @@ #include <QPluginLoader> #include <plugininterface.h> #include "config.h" +#include <QVersionNumber> Browser::Browser(int &argc, char *argv[], bool allowSecondary) : SingleApplication(argc, argv, allowSecondary, SingleApplication::User | SingleApplication::SecondaryNotification | SingleApplication::ExcludeAppVersion) { setApplicationName(CONFIG_POI_NAME); setWindowIcon(QIcon(CONFIG_POI_ICON)); - setApplicationVersion(poi_Version); + setApplicationVersion(QVersionNumber::fromString(QLatin1String(poi_Version)).toString()); } Browser::~Browser() diff --git a/src/main.cpp b/src/main.cpp index 6ceacab..1a8dd11 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,6 +18,7 @@ #include <memory> #include <QPluginLoader> #include <plugininterface.h> +#include <QVersionNumber> #ifdef _WIN32 #include <cstdio> #include <windows.h> @@ -93,13 +94,14 @@ int main(int argc, char **argv) // --version if(config->exists("version")) { - std::cout << "smolbote " << poi_Version << std::endl; + auto ver = QVersionNumber::fromString(QLatin1String(poi_Version)); + std::cout << "smolbote " << ver.toString().toStdString() << std::endl; return 0; } // --build if(config->exists("build")) { - std::cout << poi_Build; + std::cout << poi_Version << std::endl; return 0; } diff --git a/src/meson.build b/src/meson.build index 715e154..a977e8b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -21,9 +21,9 @@ endif poi = executable(get_option('poiName'), install: true, cpp_args: ['-DQAPPLICATION_CLASS=QApplication'], - dependencies: [dep_qt5, dep_boost, dep_SingleApplication, optdepends, + dependencies: [dep_qt5, dep_boost, dep_SingleApplication, dep_genheaders, optdepends, dep_about, dep_addressbar, dep_bookmarks, dep_configuration, dep_downloads, dep_urlfilter, dep_web], - include_directories: [include, genheader_inc], + include_directories: [include], sources: ['main.cpp', poi_moc, 'browser.cpp', 'session.cpp', |