aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/baremetal/keiltoolchain.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2023-11-17 09:21:04 +0100
committerhjk <[email protected]>2023-11-17 12:59:40 +0000
commitfc1325d6c92cb7a84f8b75c2b13cdc79872cfd2e (patch)
tree96f61966e0b04c2c5f7aea48d0ae34937801398d /src/plugins/baremetal/keiltoolchain.cpp
parent4101260f41d0b6190ff6b3d2c2182f298b1717de (diff)
BareMetal: Use new setup approach for toolchain factories
Change-Id: Ic91ccab925f054d80fbfa8bc018b3e86d207b186 Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/plugins/baremetal/keiltoolchain.cpp')
-rw-r--r--src/plugins/baremetal/keiltoolchain.cpp33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp
index d39dc9f03b0..f6a097f0a41 100644
--- a/src/plugins/baremetal/keiltoolchain.cpp
+++ b/src/plugins/baremetal/keiltoolchain.cpp
@@ -538,14 +538,31 @@ QStringList KeilToolChain::extraCodeModelFlags() const
// KeilToolchainFactory
-KeilToolChainFactory::KeilToolChainFactory()
-{
- setDisplayName(Tr::tr("KEIL"));
- setSupportedToolChainType(Constants::KEIL_TOOLCHAIN_TYPEID);
- setSupportedLanguages({ProjectExplorer::Constants::C_LANGUAGE_ID,
- ProjectExplorer::Constants::CXX_LANGUAGE_ID});
- setToolchainConstructor([] { return new KeilToolChain; });
- setUserCreatable(true);
+class KeilToolChainFactory final : public ToolChainFactory
+{
+public:
+ KeilToolChainFactory()
+ {
+ setDisplayName(Tr::tr("KEIL"));
+ setSupportedToolChainType(Constants::KEIL_TOOLCHAIN_TYPEID);
+ setSupportedLanguages({ProjectExplorer::Constants::C_LANGUAGE_ID,
+ ProjectExplorer::Constants::CXX_LANGUAGE_ID});
+ setToolchainConstructor([] { return new KeilToolChain; });
+ setUserCreatable(true);
+ }
+
+ Toolchains autoDetect(const ToolchainDetector &detector) const final;
+
+private:
+ Toolchains autoDetectToolchains(const Candidates &candidates,
+ const Toolchains &alreadyKnown) const;
+ Toolchains autoDetectToolchain(
+ const Candidate &candidate, Utils::Id language) const;
+};
+
+void setupKeilToolChain()
+{
+ static KeilToolChainFactory theKeilToolChainFactory;
}
// Parse the 'tools.ini' file to fetch a toolchain version.