diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-08-17 12:40:06 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-08-18 06:48:43 +0000 |
commit | 64f81759b334e70b4dc77ce66eaffe67d98aba4d (patch) | |
tree | faa7d20ab663f10fa649a473ac800168f7688056 | |
parent | 2ff3d3c48f02d34d51348220bdf41564fd41d30e (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.cpp | 15 |
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 " |