McuSupport: detect fallback lib when desktop kit missing

The library filename has changed in recent versions of the
SDK, which was causing false negatives.

Fixes: QTCREATORBUG-25469
Change-Id: Ie98c75a57efc5384262dbfd17f729b34cdd5f577
Reviewed-by: Erik Verbruggen <erik.verbruggen@me.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
This commit is contained in:
Christiaan Janssen
2021-03-15 09:02:09 +01:00
committed by christiaan.janssen
parent af184fdd4c
commit 2aead8b3e4

View File

@@ -593,13 +593,18 @@ void targetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage *> *packa
});
if (!hasDesktopDescription) {
Utils::FilePath desktopLib;
if (Utils::HostOsInfo::isWindowsHost())
desktopLib = dir / "lib/QulQuickUltralite_QT_32bpp_Windows_Release.lib";
else
desktopLib = dir / "lib/libQulQuickUltralite_QT_32bpp_Linux_Debug.a";
QVector<Utils::FilePath> desktopLibs;
if (Utils::HostOsInfo::isWindowsHost()) {
desktopLibs << dir / "lib/QulQuickUltralite_QT_32bpp_Windows_Release.lib"; // older versions of QUL (<1.5?)
desktopLibs << dir / "lib/QulQuickUltralitePlatform_QT_32bpp_Windows_msvc_Release.lib"; // newer versions of QUL
} else {
desktopLibs << dir / "lib/libQulQuickUltralite_QT_32bpp_Linux_Debug.a"; // older versions of QUL (<1.5?)
desktopLibs << dir / "lib/libQulQuickUltralitePlatform_QT_32bpp_Linux_gnu_Debug.a"; // newer versions of QUL
}
if (desktopLib.exists()) {
if (Utils::anyOf(desktopLibs, [](const Utils::FilePath &desktopLib) {
return desktopLib.exists(); })
) {
McuTargetDescription desktopDescription;
desktopDescription.qulVersion = descriptions.empty() ?
McuSupportOptions::minimalQulVersion().toString()
@@ -613,8 +618,10 @@ void targetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage *> *packa
descriptions.prepend(desktopDescription);
} else {
if (dir.exists())
printMessage(McuTarget::tr("Skipped creating fallback desktop kit: Could not find %1.")
.arg(QDir::toNativeSeparators(desktopLib.fileNameWithPathComponents(1))),
printMessage(McuTarget::tr("Skipped creating fallback desktop kit: Could not find any of %1.")
.arg(Utils::transform(desktopLibs, [](const auto &path) {
return QDir::toNativeSeparators(path.fileNameWithPathComponents(1));
}).toList().join(" or ")),
false);
}
}