summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-12-13 09:47:47 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-12-13 10:14:20 +0100
commit4978a76b42964639401f9b63209f68dfcc85a51a (patch)
treeaf69e2f521af2f335f51a451e304136c198e6769
parenta7ee1fc7a0516ba3639b4680149fa7adebb13a1f (diff)
downloadqttools-4978a76b42964639401f9b63209f68dfcc85a51a.tar.gz
windeployqt: Fix MinGW deployment
The platform no longer has a 'd' suffix for debug binaries (see qtbase/4d289edb14aeb4976218cc306bfc514e37521b82). Add a check. Fixes: QTBUG-80763 Task-number: QTBUG-78445 Change-Id: I8d4617e2111167a546fa172cbca78a656d233ee5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r--src/shared/winutils/utils.cpp2
-rw-r--r--src/shared/winutils/utils.h5
-rw-r--r--src/windeployqt/main.cpp10
3 files changed, 11 insertions, 6 deletions
diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp
index 9818d53f9..f32b9b76b 100644
--- a/src/shared/winutils/utils.cpp
+++ b/src/shared/winutils/utils.cpp
@@ -112,7 +112,7 @@ QStringList findSharedLibraries(const QDir &directory, Platform platform,
QString nameFilter = prefix;
if (nameFilter.isEmpty())
nameFilter += QLatin1Char('*');
- if (debugMatchMode == MatchDebug && (platform & WindowsBased))
+ if (debugMatchMode == MatchDebug && platformHasDebugSuffix(platform))
nameFilter += QLatin1Char('d');
nameFilter += sharedLibrarySuffix(platform);
QStringList result;
diff --git a/src/shared/winutils/utils.h b/src/shared/winutils/utils.h
index 5552a3665..7915f8e4e 100644
--- a/src/shared/winutils/utils.h
+++ b/src/shared/winutils/utils.h
@@ -61,6 +61,11 @@ enum Platform {
UnknownPlatform
};
+inline bool platformHasDebugSuffix(Platform p) // Uses 'd' debug suffix
+{
+ return (p & WindowsBased) != 0 && (p & MinGW) == 0;
+}
+
enum ListOption {
ListNone = 0,
ListSource,
diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp
index 1fefc6d21..99d1e152a 100644
--- a/src/windeployqt/main.cpp
+++ b/src/windeployqt/main.cpp
@@ -1062,7 +1062,7 @@ static QString libraryPath(const QString &libraryLocation, const char *name,
if (platform & WindowsBased) {
result += QLatin1String(name);
result += qtLibInfix;
- if (debug)
+ if (debug && platformHasDebugSuffix(platform))
result += QLatin1Char('d');
} else if (platform & UnixBased) {
result += QStringLiteral("lib");
@@ -1408,11 +1408,11 @@ static DeployResult deploy(const Options &options,
if ((options.platform & WindowsBased) && options.platform != WinCEIntel
&& options.platform != WinCEArm && !qtGuiLibrary.isEmpty()) {
QString libGlesName = QStringLiteral("libGLESV2");
- if (isDebug)
+ if (isDebug && platformHasDebugSuffix(options.platform))
libGlesName += QLatin1Char('d');
libGlesName += QLatin1String(windowsSharedLibrarySuffix);
QString libCombinedQtAngleName = QStringLiteral("QtANGLE");
- if (isDebug)
+ if (isDebug && platformHasDebugSuffix(options.platform))
libCombinedQtAngleName += QLatin1Char('d');
libCombinedQtAngleName += QLatin1String(windowsSharedLibrarySuffix);
const QStringList guiLibraries = findDependentLibraries(qtGuiLibrary, options.platform, errorMessage);
@@ -1428,7 +1428,7 @@ static DeployResult deploy(const Options &options,
const QString libGlesFullPath = qtBinDir + slash + libGlesName;
deployedQtLibraries.append(libGlesFullPath);
QString libEglFullPath = qtBinDir + slash + QStringLiteral("libEGL");
- if (isDebug)
+ if (isDebug && platformHasDebugSuffix(options.platform))
libEglFullPath += QLatin1Char('d');
libEglFullPath += QLatin1String(windowsSharedLibrarySuffix);
deployedQtLibraries.append(libEglFullPath);
@@ -1606,7 +1606,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qmakeVariables,
"qtwebengine_resources_100p.pak",
"qtwebengine_resources_200p.pak"};
QByteArray webEngineProcessName(webEngineProcessC);
- if (isDebug)
+ if (isDebug && platformHasDebugSuffix(options.platform))
webEngineProcessName.append('d');
if (optVerboseLevel)
std::wcout << "Deploying: " << webEngineProcessName.constData() << "...\n";