summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-08-17 12:40:06 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-08-18 06:48:43 +0000
commit64f81759b334e70b4dc77ce66eaffe67d98aba4d (patch)
treefaa7d20ab663f10fa649a473ac800168f7688056
parent2ff3d3c48f02d34d51348220bdf41564fd41d30e (diff)
windeployqt: Add an option taking a list of languages
Fixes: QTBUG-85841 Change-Id: I8b731ded7b707f510ba41385998b78b191ba9f4c Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 5cc0dabf472ae6ef962473930ab40f11ed29ebf1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/windeployqt/main.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index d7d0873dc..0f5bde717 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -274,6 +274,7 @@ struct Options {
QStringList qmlImportPaths; // Custom QML module locations.
QString directory;
QString translationsDirectory; // Translations target directory
+ QStringList languages;
QString libraryDirectory;
QString pluginDirectory;
QStringList binaries;
@@ -399,6 +400,12 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
QStringLiteral("Skip deployment of Qt Quick imports."));
parser->addOption(noQuickImportOption);
+
+ QCommandLineOption translationOption(QStringLiteral("translations"),
+ QStringLiteral("A comma-separated list of languages to deploy (de,fi)."),
+ QStringLiteral("languages"));
+ parser->addOption(translationOption);
+
QCommandLineOption noTranslationOption(QStringLiteral("no-translations"),
QStringLiteral("Skip deployment of translations."));
parser->addOption(noTranslationOption);
@@ -497,6 +504,8 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
options->plugins = !parser->isSet(noPluginsOption);
options->libraries = !parser->isSet(noLibraryOption);
options->translations = !parser->isSet(noTranslationOption);
+ if (parser->isSet(translationOption))
+ options->languages = parser->value(translationOption).split(QLatin1Char(','));
options->systemD3dCompiler = !parser->isSet(noSystemD3DCompilerOption);
options->quickImports = !parser->isSet(noQuickImportOption);
@@ -1003,9 +1012,9 @@ static bool deployTranslations(const QString &sourcePath, quint64 usedQtModules,
const QStringList qmFilter = QStringList(QStringLiteral("qtbase_*.qm"));
const QFileInfoList &qmFiles = sourceDir.entryInfoList(qmFilter);
for (const QFileInfo &qmFi : qmFiles) {
- QString qmFile = qmFi.baseName();
- qmFile.remove(0, 7);
- prefixes.push_back(qmFile);
+ const QString prefix = qmFi.baseName().mid(7);
+ if (options.languages.isEmpty() || options.languages.contains(prefix))
+ prefixes.append(prefix);
}
if (prefixes.isEmpty()) {
std::wcerr << "Warning: Could not find any translations in "