Qbs build: Fix app_version generation

Amends 6836caa14c

which added a variable to app_version.h.cmake, but not to
app_version.h.in. Fix by porting qbs to use app_version.h.cmake, which
is the truth nowadays, instead of the app_version.h.in which originated
from the qmake build.

Change-Id: Ia9be53377a0bfded91ccd6ea1637eeda7fe9d5c8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Eike Ziller
2023-06-26 10:55:09 +02:00
parent 68bc213644
commit ac32f790f3
2 changed files with 21 additions and 79 deletions

View File

@@ -1,54 +0,0 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
namespace Core {
namespace Constants {
#define STRINGIFY_INTERNAL(x) #x
#define STRINGIFY(x) STRINGIFY_INTERNAL(x)
const char IDE_DISPLAY_NAME[] = \"$${IDE_DISPLAY_NAME}\";
const char IDE_ID[] = \"$${IDE_ID}\";
const char IDE_CASED_ID[] = \"$${IDE_CASED_ID}\";
#define IDE_VERSION $${QTCREATOR_VERSION}
#define IDE_VERSION_STR STRINGIFY(IDE_VERSION)
#define IDE_VERSION_DISPLAY_DEF $${QTCREATOR_DISPLAY_VERSION}
#define IDE_VERSION_COMPAT_DEF $${QTCREATOR_COMPAT_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 IDE_VERSION_LONG[] = IDE_VERSION_STR;
const char IDE_VERSION_DISPLAY[] = STRINGIFY(IDE_VERSION_DISPLAY_DEF);
const char IDE_VERSION_COMPAT[] = STRINGIFY(IDE_VERSION_COMPAT_DEF);
const char IDE_AUTHOR[] = \"The Qt Company Ltd\";
const char IDE_YEAR[] = \"$${QTCREATOR_COPYRIGHT_YEAR}\";
#ifdef IDE_REVISION
const char IDE_REVISION_STR[] = STRINGIFY(IDE_REVISION);
#else
const char IDE_REVISION_STR[] = \"\";
#endif
const char IDE_REVISION_URL[] = \"$${IDE_REVISION_URL}\";
// changes the path where the settings are saved to
#ifdef IDE_SETTINGSVARIANT
const char IDE_SETTINGSVARIANT_STR[] = STRINGIFY(IDE_SETTINGSVARIANT);
#else
const char IDE_SETTINGSVARIANT_STR[] = \"QtProject\";
#endif
#undef IDE_VERSION_COMPAT_DEF
#undef IDE_VERSION_DISPLAY_DEF
#undef IDE_VERSION
#undef IDE_VERSION_STR
#undef STRINGIFY
#undef STRINGIFY_INTERNAL
} // Constants
} // Core

View File

@@ -6,15 +6,10 @@ Product {
type: "hpp"
Group {
files: ["app_version.h.in"]
files: ["app_version.h.cmakein"]
fileTags: ["hpp.in"]
}
Group {
name: "other"
files: "app_version.h.cmakein"
}
Depends { name: "qtc" }
Rule {
@@ -31,33 +26,34 @@ Product {
cmd.sourceCode = function() {
var file = new TextFile(input.filePath);
var content = file.readAll();
// replace quoted quotes
content = content.replace(/\\\"/g, '"');
// replace Windows line endings
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_COMPAT_DEF) .+\n/, "$1 "
+ product.moduleProperty("qtc", "qtcreator_compat_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 "
+ product.moduleProperty("qtc", "ide_version_major") + "\n");
content = content.replace(/(\n#define IDE_VERSION_MINOR) .+\n/, "$1 "
+ product.moduleProperty("qtc", "ide_version_minor") + "\n");
content = content.replace(/(\n#define IDE_VERSION_RELEASE) .+\n/, "$1 "
+ product.moduleProperty("qtc", "ide_version_release") + "\n");
content = content.replace("$${QTCREATOR_COPYRIGHT_YEAR}",
content = content.replace("${IDE_VERSION_DISPLAY}",
product.moduleProperty("qtc", "qtcreator_display_version"));
content = content.replace("${IDE_VERSION_COMPAT}",
product.moduleProperty("qtc", "qtcreator_compat_version"));
content = content.replace("${PROJECT_VERSION}",
product.moduleProperty("qtc", "qtcreator_version"));
content = content.replace("${PROJECT_VERSION_MAJOR}",
product.moduleProperty("qtc", "ide_version_major"));
content = content.replace("${PROJECT_VERSION_MINOR}",
product.moduleProperty("qtc", "ide_version_minor"));
content = content.replace("${PROJECT_VERSION_PATCH}",
product.moduleProperty("qtc", "ide_version_release"));
content = content.replace("${IDE_COPYRIGHT_YEAR}",
product.moduleProperty("qtc", "qtcreator_copyright_year"));
content = content.replace("$${IDE_DISPLAY_NAME}",
content = content.replace("${IDE_DISPLAY_NAME}",
product.moduleProperty("qtc", "ide_display_name"));
content = content.replace("$${IDE_ID}",
content = content.replace("${IDE_ID}",
product.moduleProperty("qtc", "ide_id"));
content = content.replace("$${IDE_CASED_ID}",
content = content.replace("${IDE_CASED_ID}",
product.moduleProperty("qtc", "ide_cased_id"));
content = content.replace("$${PROJECT_USER_FILE_EXTENSION}",
content = content.replace(/\n#cmakedefine IDE_REVISION\n/, "");
content = content.replace("${IDE_REVISION_STR}", "");
content = content.replace("${IDE_REVISION_URL}", "");
content = content.replace("${PROJECT_USER_FILE_EXTENSION}",
product.moduleProperty("qtc", "ide_user_file_extension"));
file = new TextFile(output.filePath, TextFile.WriteOnly);
file.truncate();