From 1891af4b07801e6cbab95aca77b2ef4979b46cc0 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 20 Apr 2017 14:51:49 +0200 Subject: [PATCH] Specify Qt Creator's "display version" in qtcreator.pri/qtc.qbs Currently it is set by passing defines to qmake, which complicates package build setups. Set the display version where the numerical version is defined. This also makes it available to developer builds. Also switch around the display version and numerical version in the about dialog, since e.g. "4.3.0-rc1" is more descriptive than "4.2.83". Change-Id: I26dda427975acdc6cc169f8d625f57918167cf19 Reviewed-by: Christian Kandeler Reviewed-by: Orgad Shaneh Reviewed-by: Eike Ziller --- qbs/modules/qtc/qtc.qbs | 1 + qtcreator.pri | 1 + src/app/app_version.h.in | 10 +++------- src/app/app_version_header.qbs | 2 ++ src/plugins/coreplugin/icore.cpp | 7 +++---- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 271f10d0a1c..723181ccbcb 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -4,6 +4,7 @@ import qbs.FileInfo import "qtc.js" as HelperFunctions Module { + property string qtcreator_display_version: '4.3.0-rc1' property string ide_version_major: '4' property string ide_version_minor: '2' property string ide_version_release: '83' diff --git a/qtcreator.pri b/qtcreator.pri index 5bb7849892a..64172d42d63 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -4,6 +4,7 @@ QTCREATOR_PRI_INCLUDED = 1 QTCREATOR_VERSION = 4.2.83 QTCREATOR_COMPAT_VERSION = 4.2.83 VERSION = $$QTCREATOR_VERSION +QTCREATOR_DISPLAY_VERSION = 4.3.0-rc1 BINARY_ARTIFACTS_BRANCH = 4.3 CONFIG += c++14 diff --git a/src/app/app_version.h.in b/src/app/app_version.h.in index 0e622901e13..19bff44d49a 100644 --- a/src/app/app_version.h.in +++ b/src/app/app_version.h.in @@ -33,21 +33,17 @@ namespace Constants { #define IDE_VERSION $${QTCREATOR_VERSION} #define IDE_VERSION_STR STRINGIFY(IDE_VERSION) +#define IDE_VERSION_DISPLAY_DEF $${QTCREATOR_DISPLAY_VERSION} #define IDE_VERSION_MAJOR $$replace(QTCREATOR_VERSION, "^(\\d+)\\.\\d+\\.\\d+(-.*)?$", \\1) #define IDE_VERSION_MINOR $$replace(QTCREATOR_VERSION, "^\\d+\\.(\\d+)\\.\\d+(-.*)?$", \\1) #define IDE_VERSION_RELEASE $$replace(QTCREATOR_VERSION, "^\\d+\\.\\d+\\.(\\d+)(-.*)?$", \\1) const char * const IDE_VERSION_LONG = IDE_VERSION_STR; +const char * const IDE_VERSION_DISPLAY = STRINGIFY(IDE_VERSION_DISPLAY_DEF); const char * const IDE_AUTHOR = \"The Qt Company Ltd\"; const char * const IDE_YEAR = \"2017\"; -#ifdef IDE_VERSION_DESCRIPTION -const char * const IDE_VERSION_DESCRIPTION_STR = STRINGIFY(IDE_VERSION_DESCRIPTION); -#else -const char * const IDE_VERSION_DESCRIPTION_STR = \"\"; -#endif - #ifdef IDE_REVISION const char * const IDE_REVISION_STR = STRINGIFY(IDE_REVISION); #else @@ -67,7 +63,7 @@ const char * const IDE_COPY_SETTINGS_FROM_VARIANT_STR = STRINGIFY(IDE_COPY_SETTI const char * const IDE_COPY_SETTINGS_FROM_VARIANT_STR = \"Nokia\"; #endif - +#undef IDE_VERSION_DISPLAY_DEF #undef IDE_VERSION #undef IDE_VERSION_STR #undef STRINGIFY diff --git a/src/app/app_version_header.qbs b/src/app/app_version_header.qbs index 6a6b2540c19..5730be75429 100644 --- a/src/app/app_version_header.qbs +++ b/src/app/app_version_header.qbs @@ -32,6 +32,8 @@ Product { if (onWindows) content = content.replace(/\r\n/g, "\n"); // replace the magic qmake incantations + content = content.replace(/(\n#define IDE_VERSION_DISPLAY_DEF) .+\n/, "$1 " + + product.moduleProperty("qtc", "qtcreator_display_version") + "\n"); content = content.replace(/(\n#define IDE_VERSION) .+\n/, "$1 " + product.moduleProperty("qtc", "qtcreator_version") + "\n"); content = content.replace(/(\n#define IDE_VERSION_MAJOR) .+\n/, "$1 " diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index a9c9c59cad0..e5a1bc8a5f2 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -459,10 +459,9 @@ static QString compilerString() QString ICore::versionString() { QString ideVersionDescription; -#ifdef IDE_VERSION_DESCRIPTION - ideVersionDescription = tr(" (%1)").arg(QLatin1String(Constants::IDE_VERSION_DESCRIPTION_STR)); -#endif - return tr("Qt Creator %1%2").arg(QLatin1String(Constants::IDE_VERSION_LONG), + if (QLatin1String(Constants::IDE_VERSION_LONG) != QLatin1String(Constants::IDE_VERSION_DISPLAY)) + ideVersionDescription = tr(" (%1)").arg(QLatin1String(Constants::IDE_VERSION_LONG)); + return tr("Qt Creator %1%2").arg(QLatin1String(Constants::IDE_VERSION_DISPLAY), ideVersionDescription); }