diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index fa31889f83b..f89b6330715 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -263,6 +263,11 @@ AndroidToolChainFactory::AndroidToolChainFactory() setDisplayName(tr("Android GCC")); } +QSet Android::Internal::AndroidToolChainFactory::supportedLanguages() const +{ + return { ToolChain::Language::Cxx }; +} + QList AndroidToolChainFactory::autoDetect(const QList &alreadyKnown) { return autodetectToolChainsForNdk(AndroidConfigurations::currentConfig().ndkLocation(), alreadyKnown); diff --git a/src/plugins/android/androidtoolchain.h b/src/plugins/android/androidtoolchain.h index 3de6a12eaa9..5fd58532f2e 100644 --- a/src/plugins/android/androidtoolchain.h +++ b/src/plugins/android/androidtoolchain.h @@ -95,6 +95,7 @@ class AndroidToolChainFactory : public ProjectExplorer::ToolChainFactory public: AndroidToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; bool canRestore(const QVariantMap &data) override; diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index 4e414e01e88..c212b3a0f66 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -363,6 +363,11 @@ static ClangToolChain *createToolChain(const Platform &platform) return toolChain; } +QSet IosToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + QList IosToolChainFactory::autoDetect(const QList &existingToolChains) { QList existingClangToolChains = clangToolChains(existingToolChains); diff --git a/src/plugins/ios/iosconfigurations.h b/src/plugins/ios/iosconfigurations.h index 843608146ec..7e917e82c84 100644 --- a/src/plugins/ios/iosconfigurations.h +++ b/src/plugins/ios/iosconfigurations.h @@ -45,6 +45,7 @@ class IosToolChainFactory : public ProjectExplorer::ToolChainFactory Q_OBJECT public: + QSet supportedLanguages() const override; QList autoDetect(const QList &existingToolChains) override; }; diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index c715e8d6efb..7aafa808d5e 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -432,6 +432,11 @@ CustomToolChainFactory::CustomToolChainFactory() setDisplayName(tr("Custom")); } +QSet CustomToolChainFactory::supportedLanguages() const +{ + return { ToolChain::Language::Cxx }; +} + bool CustomToolChainFactory::canCreate() { return true; diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h index c0d1cd76352..e4ef3a80066 100644 --- a/src/plugins/projectexplorer/customtoolchain.h +++ b/src/plugins/projectexplorer/customtoolchain.h @@ -147,6 +147,7 @@ class CustomToolChainFactory : public ToolChainFactory public: CustomToolChainFactory(); + QSet supportedLanguages() const override; bool canCreate() override; ToolChain *create() override; diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 346af7aba30..c089e9e54dc 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -769,6 +769,11 @@ GccToolChainFactory::GccToolChainFactory() setDisplayName(tr("GCC")); } +QSet GccToolChainFactory::supportedLanguages() const +{ + return { ToolChain::Language::Cxx }; +} + bool GccToolChainFactory::canCreate() { return true; @@ -1134,6 +1139,11 @@ ClangToolChainFactory::ClangToolChainFactory() setDisplayName(tr("Clang")); } +QSet ClangToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + QList ClangToolChainFactory::autoDetect(const QList &alreadyKnown) { return autoDetectToolchains(QLatin1String("clang++"), Abi::hostAbi(), @@ -1213,6 +1223,11 @@ MingwToolChainFactory::MingwToolChainFactory() setDisplayName(tr("MinGW")); } +QSet MingwToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + QList MingwToolChainFactory::autoDetect(const QList &alreadyKnown) { Abi ha = Abi::hostAbi(); @@ -1291,6 +1306,11 @@ LinuxIccToolChainFactory::LinuxIccToolChainFactory() setDisplayName(tr("Linux ICC")); } +QSet LinuxIccToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + QList LinuxIccToolChainFactory::autoDetect(const QList &alreadyKnown) { return autoDetectToolchains(QLatin1String("icpc"), Abi::hostAbi(), diff --git a/src/plugins/projectexplorer/gcctoolchainfactories.h b/src/plugins/projectexplorer/gcctoolchainfactories.h index cdebccc27fd..c8e984a5136 100644 --- a/src/plugins/projectexplorer/gcctoolchainfactories.h +++ b/src/plugins/projectexplorer/gcctoolchainfactories.h @@ -49,6 +49,7 @@ class GccToolChainFactory : public ToolChainFactory public: GccToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; @@ -108,6 +109,7 @@ class ClangToolChainFactory : public GccToolChainFactory public: ClangToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; @@ -127,6 +129,7 @@ class MingwToolChainFactory : public GccToolChainFactory public: MingwToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; @@ -146,6 +149,7 @@ class LinuxIccToolChainFactory : public GccToolChainFactory public: LinuxIccToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 85918eec5d9..c7e9e00988f 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -572,6 +572,11 @@ MsvcToolChainFactory::MsvcToolChainFactory() setDisplayName(tr("MSVC")); } +QSet MsvcToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + bool MsvcToolChainFactory::checkForVisualStudioInstallation(const QString &vsName) { const QSettings vsRegistry( diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index 20e67e6b746..8f8ead3546d 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -125,6 +125,7 @@ class MsvcToolChainFactory : public ToolChainFactory public: MsvcToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index 146bc088b49..00dd9c250e4 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -175,6 +175,8 @@ public: static Core::Id typeIdFromMap(const QVariantMap &data); static void autoDetectionToMap(QVariantMap &data, bool detected); + virtual QSet supportedLanguages() const = 0; + protected: void setDisplayName(const QString &name) { m_displayName = name; } diff --git a/src/plugins/projectexplorer/wincetoolchain.cpp b/src/plugins/projectexplorer/wincetoolchain.cpp index 741d5985ae8..1535a7a33af 100644 --- a/src/plugins/projectexplorer/wincetoolchain.cpp +++ b/src/plugins/projectexplorer/wincetoolchain.cpp @@ -348,6 +348,11 @@ WinCEToolChainFactory::WinCEToolChainFactory() setDisplayName(tr("WinCE")); } +QSet WinCEToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + static ToolChain *findOrCreateToolChain(const QList &alreadyKnown, const QString &name, const Abi &abi, const QString &vcvarsBat, const QString &msvcVer, diff --git a/src/plugins/projectexplorer/wincetoolchain.h b/src/plugins/projectexplorer/wincetoolchain.h index 918d9f02867..6eb0adde279 100644 --- a/src/plugins/projectexplorer/wincetoolchain.h +++ b/src/plugins/projectexplorer/wincetoolchain.h @@ -106,6 +106,7 @@ class WinCEToolChainFactory : public ToolChainFactory public: WinCEToolChainFactory(); + QSet supportedLanguages() const override; QList autoDetect(const QList &alreadyKnown) override; diff --git a/src/plugins/qnx/qnxtoolchain.cpp b/src/plugins/qnx/qnxtoolchain.cpp index c186e96bb8d..20af5355fd1 100644 --- a/src/plugins/qnx/qnxtoolchain.cpp +++ b/src/plugins/qnx/qnxtoolchain.cpp @@ -160,6 +160,11 @@ QnxToolChainFactory::QnxToolChainFactory() setDisplayName(tr("QCC")); } +QSet QnxToolChainFactory::supportedLanguages() const +{ + return { ProjectExplorer::ToolChain::Language::Cxx }; +} + bool QnxToolChainFactory::canRestore(const QVariantMap &data) { return typeIdFromMap(data) == Constants::QNX_TOOLCHAIN_ID; diff --git a/src/plugins/qnx/qnxtoolchain.h b/src/plugins/qnx/qnxtoolchain.h index 551c9c90682..b55d2f358d4 100644 --- a/src/plugins/qnx/qnxtoolchain.h +++ b/src/plugins/qnx/qnxtoolchain.h @@ -69,6 +69,7 @@ class QnxToolChainFactory : public ProjectExplorer::ToolChainFactory public: QnxToolChainFactory(); + QSet supportedLanguages() const override; bool canRestore(const QVariantMap &data) override; ProjectExplorer::ToolChain *restore(const QVariantMap &data) override;