moc: Always indentify as moc

External tools might rely on the output of "moc --version" to identify
moc, and, depending on how robust their parsing is, could break if the
reported name does not equal "moc".

Explicitly set the application name to moc, so that even if the moc
binary gets renamed and invoked via a symlink, it will still correctly
identify itself.

This might help with both binaries from the Qt Company's installer, as
well as with distros which rename moc to moc6.

Pick-to: 6.5
Task-number: QLS-1605
Change-Id: Id85e2ffa17d445213da0b37e7bd038d7b68e2c2a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 47be32b761ea6e1f2c1bfa9dd9eb38846ce2fd45)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 510f8005bc686e947e613e4dfcdbb81a364624d3)
This commit is contained in:
Fabian Kosmale 2024-12-13 10:40:00 +01:00 committed by Qt Cherry-pick Bot
parent 6bf0b40d9b
commit 0928a180b5

View File

@ -171,6 +171,8 @@ int runMoc(int argc, char **argv)
{ {
QCoreApplication app(argc, argv); QCoreApplication app(argc, argv);
QCoreApplication::setApplicationVersion(QString::fromLatin1(QT_VERSION_STR)); QCoreApplication::setApplicationVersion(QString::fromLatin1(QT_VERSION_STR));
// let moc identify itself as moc, even if the binary has been renamed
QCoreApplication::setApplicationName(QString::fromLatin1("moc"));
bool autoInclude = true; bool autoInclude = true;
bool defaultInclude = true; bool defaultInclude = true;