diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-12-13 09:47:47 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-12-13 10:14:20 +0100 |
commit | 4978a76b42964639401f9b63209f68dfcc85a51a (patch) | |
tree | af69e2f521af2f335f51a451e304136c198e6769 | |
parent | a7ee1fc7a0516ba3639b4680149fa7adebb13a1f (diff) | |
download | qttools-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.cpp | 2 | ||||
-rw-r--r-- | src/shared/winutils/utils.h | 5 | ||||
-rw-r--r-- | src/windeployqt/main.cpp | 10 |
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"; |