From 1b7ea8437de754094274c13ab1b4dedfb5177c6d Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Tue, 20 Sep 2016 15:59:56 +0200 Subject: [PATCH] iOS: Fixes false warnings about iOS kit and Qt version iOS Qt version complains about missing compilers and the corresponding kit complains about unsupported device Task-number: QTCREATORBUG-16472 Change-Id: Ie2185e33ec5043de0230a325b48b21dc1a25109e Reviewed-by: hjk Reviewed-by: Tobias Hunger --- src/plugins/ios/iosqtversion.cpp | 3 ++- src/plugins/projectexplorer/gcctoolchain.h | 2 +- src/plugins/projectexplorer/toolchain.cpp | 5 +++++ src/plugins/projectexplorer/toolchain.h | 1 + src/plugins/projectexplorer/toolchainmanager.cpp | 7 +++++-- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/plugins/ios/iosqtversion.cpp b/src/plugins/ios/iosqtversion.cpp index 71d5a9fc49c..285a58e983f 100644 --- a/src/plugins/ios/iosqtversion.cpp +++ b/src/plugins/ios/iosqtversion.cpp @@ -116,5 +116,6 @@ QSet IosQtVersion::availableFeatures() const QSet IosQtVersion::targetDeviceTypes() const { - return { Constants::IOS_DEVICE_TYPE }; + // iOS Qt version supports ios devices as well as simulator. + return { Constants::IOS_DEVICE_TYPE, Constants::IOS_SIMULATOR_TYPE }; } diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h index cd651ab444a..2d7bfc70cad 100644 --- a/src/plugins/projectexplorer/gcctoolchain.h +++ b/src/plugins/projectexplorer/gcctoolchain.h @@ -56,7 +56,7 @@ public: Abi targetAbi() const override; QString originalTargetTriple() const override; QString version() const; - QList supportedAbis() const; + QList supportedAbis() const override; void setTargetAbi(const Abi &); bool isValid() const override; diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 05ec1bbc844..43ef1fc5540 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -135,6 +135,11 @@ Core::Id ToolChain::typeId() const return d->m_typeId; } +QList ToolChain::supportedAbis() const +{ + return { targetAbi() }; +} + bool ToolChain::canClone() const { return true; diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index cac15dce6a8..863d5284d14 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -80,6 +80,7 @@ public: Core::Id typeId() const; virtual QString typeDisplayName() const = 0; virtual Abi targetAbi() const = 0; + virtual QList supportedAbis() const; virtual QString originalTargetTriple() const { return QString(); } virtual bool isValid() const = 0; diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp index 866f74b4aa5..0c12195fdf7 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -342,8 +342,11 @@ QList ToolChainManager::findToolChains(const Abi &abi) { QList result; foreach (ToolChain *tc, d->m_toolChains) { - Abi targetAbi = tc->targetAbi(); - if (targetAbi.isCompatibleWith(abi)) + bool isCompatible = Utils::anyOf(tc->supportedAbis(), [abi](const Abi &supportedAbi) { + return supportedAbi.isCompatibleWith(abi); + }); + + if (isCompatible) result.append(tc); } return result;