forked from qt-creator/qt-creator
QtSupport: (Windows/MinGW) Copy additional MinGW dlls in plugin tests
The QtSupport plugin tests copy qmake into a separate directory. If that qmake is from a MinGW Qt, the respective .dlls are missing, and the test interrupts/blocks. Fixes: QTCREATORBUG-27793 Change-Id: I1ac02c31b6b74cf382285b8a5246292f82f979e3 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -281,12 +281,15 @@ static QStringList additionalFilesToCopy(const QtVersion *qt)
|
|||||||
} else if (HostOsInfo::isWindowsHost()) {
|
} else if (HostOsInfo::isWindowsHost()) {
|
||||||
const QString release = QString("bin/Qt%1Core.dll").arg(major);
|
const QString release = QString("bin/Qt%1Core.dll").arg(major);
|
||||||
const QString debug = QString("bin/Qt%1Cored.dll").arg(major);
|
const QString debug = QString("bin/Qt%1Cored.dll").arg(major);
|
||||||
|
const QString mingwGcc("bin/libgcc_s_seh-1.dll");
|
||||||
|
const QString mingwStd("bin/libstdc++-6.dll");
|
||||||
|
const QString mingwPthread("bin/libwinpthread-1.dll");
|
||||||
const FilePath base = qt->qmakeFilePath().parentDir().parentDir();
|
const FilePath base = qt->qmakeFilePath().parentDir().parentDir();
|
||||||
if (base.pathAppended(release).exists())
|
const QStringList allFiles = {release, debug, mingwGcc, mingwStd, mingwPthread};
|
||||||
return {release};
|
const QStringList existingFiles = Utils::filtered(allFiles, [&base](const QString &f) {
|
||||||
if (base.pathAppended(debug).exists())
|
return base.pathAppended(f).exists();
|
||||||
return {debug};
|
});
|
||||||
return {release};
|
return !existingFiles.empty() ? existingFiles : QStringList(release);
|
||||||
} else if (HostOsInfo::isLinuxHost()) {
|
} else if (HostOsInfo::isLinuxHost()) {
|
||||||
const QString core = QString("lib/libQt%1Core.so.%1").arg(major);
|
const QString core = QString("lib/libQt%1Core.so.%1").arg(major);
|
||||||
const QDir base(qt->qmakeFilePath().parentDir().parentDir().pathAppended("lib").toString());
|
const QDir base(qt->qmakeFilePath().parentDir().parentDir().pathAppended("lib").toString());
|
||||||
|
Reference in New Issue
Block a user