summaryrefslogtreecommitdiff
path: root/src/windeployqt
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-11-20 13:18:20 +0100
committerLiang Qi <liang.qi@qt.io>2017-11-20 14:37:20 +0100
commita2edd6add546b0596e5908291d3e0153ff487f08 (patch)
treef599afdbe38157c844212c36a1690ff903df4fd2 /src/windeployqt
parentb7a6bbf420d1eed9daefd232dc48933e7d6f7c4e (diff)
parent6491ca02253f3245333611cabf248ef01bd31883 (diff)
downloadqttools-a2edd6add546b0596e5908291d3e0153ff487f08.tar.gz
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts: src/qdoc/qdocdatabase.h Change-Id: I044c17d6a953c9689a4d928972d3fd757e468114
Diffstat (limited to 'src/windeployqt')
-rw-r--r--src/windeployqt/main.cpp29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 38b01a38c..9b68df94f 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -37,6 +37,7 @@
#include <QtCore/QJsonArray>
#include <QtCore/QCommandLineParser>
#include <QtCore/QCommandLineOption>
+#include <QtCore/QOperatingSystemVersion>
#include <QtCore/QSharedPointer>
#include <QtCore/QVector>
@@ -952,7 +953,8 @@ static QStringList translationNameFilters(quint64 modules, const QString &prefix
}
static bool deployTranslations(const QString &sourcePath, quint64 usedQtModules,
- const QString &target, unsigned flags, QString *errorMessage)
+ const QString &target, const Options &options,
+ QString *errorMessage)
{
// Find available languages prefixes by checking on qtbase.
QStringList prefixes;
@@ -978,14 +980,22 @@ static bool deployTranslations(const QString &sourcePath, quint64 usedQtModules,
arguments.clear();
const QString targetFile = QStringLiteral("qt_") + prefix + QStringLiteral(".qm");
arguments.append(QStringLiteral("-o"));
- arguments.append(QDir::toNativeSeparators(absoluteTarget + QLatin1Char('/') + targetFile));
+ const QString targetFilePath = absoluteTarget + QLatin1Char('/') + targetFile;
+ if (options.json)
+ options.json->addFile(sourcePath + QLatin1Char('/') + targetFile, absoluteTarget);
+ arguments.append(QDir::toNativeSeparators(targetFilePath));
const QFileInfoList &langQmFiles = sourceDir.entryInfoList(translationNameFilters(usedQtModules, prefix));
- for (const QFileInfo &langQmFileFi : langQmFiles)
+ for (const QFileInfo &langQmFileFi : langQmFiles) {
+ if (options.json) {
+ options.json->addFile(langQmFileFi.absoluteFilePath(),
+ absoluteTarget);
+ }
arguments.append(langQmFileFi.fileName());
+ }
if (optVerboseLevel)
std::wcout << "Creating " << targetFile << "...\n";
unsigned long exitCode;
- if (!(flags & SkipUpdateFile)
+ if ((options.updateFileFlags & SkipUpdateFile) == 0
&& (!runProcess(binary, arguments, sourcePath, &exitCode, 0, 0, errorMessage) || exitCode)) {
return false;
}
@@ -1048,13 +1058,16 @@ static QString vcRedistDir()
// Look in reverse order for folder containing the debug redist folder
const QFileInfoList subDirs =
QDir(vc2017RedistDirName).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
+ const bool isWindows10 = QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10;
for (const QFileInfo &f : subDirs) {
QString path = f.absoluteFilePath();
if (QFileInfo(path + slash + vcDebugRedistDir()).isDir())
return path;
- path += QStringLiteral("/onecore");
- if (QFileInfo(path + slash + vcDebugRedistDir()).isDir())
- return path;
+ if (isWindows10) {
+ path += QStringLiteral("/onecore");
+ if (QFileInfo(path + slash + vcDebugRedistDir()).isDir())
+ return path;
+ }
}
std::wcerr << "Warning: Cannot find Visual Studio redist directory under "
<< QDir::toNativeSeparators(vc2017RedistDirName).toStdWString() << ".\n";
@@ -1521,7 +1534,7 @@ static DeployResult deploy(const Options &options,
return result;
if (!deployTranslations(qmakeVariables.value(QStringLiteral("QT_INSTALL_TRANSLATIONS")),
result.deployedQtLibraries, options.translationsDirectory,
- options.updateFileFlags, errorMessage)) {
+ options, errorMessage)) {
return result;
}
}