aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@qt.io>2021-03-15 09:02:09 +0100
committerchristiaan.janssen <christiaan.janssen@qt.io>2021-03-15 12:10:45 +0000
commit2aead8b3e4513eda90140841528966b6926948bf (patch)
tree13d5cb1e4ae73e6a2e9c39a0904c2fd88e4e949a
parentaf184fdd4c5e77048bf876f18ed8355fff5595e1 (diff)
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>
-rw-r--r--src/plugins/mcusupport/mcusupportsdk.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp
index 75a2d11533..b0e1395bae 100644
--- a/src/plugins/mcusupport/mcusupportsdk.cpp
+++ b/src/plugins/mcusupport/mcusupportsdk.cpp
@@ -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);
}
}