diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-10-27 15:13:17 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-10-27 16:22:14 +0200 |
commit | c9feffd2a05d986185a0c7e5bd3b58d65b81c9df (patch) | |
tree | 6b5f86ba9dd7c0181db051e979b341d5de2311c3 /plugins | |
parent | c7c93810c403f4d2a936255953c70df32761cb23 (diff) | |
download | qt-creator-c9feffd2a05d986185a0c7e5bd3b58d65b81c9df.tar.gz |
RunControlFactory: Limit to Clang/GCC toolchain
Change-Id: Ib50572a062f0bbe9950fee108b53ba8e7370f459
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp index b07802d797..a8896b4565 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp @@ -22,6 +22,12 @@ #include <analyzerbase/analyzerruncontrol.h> #include <analyzerbase/analyzerstartparameters.h> +#include <projectexplorer/gcctoolchain.h> +#include <projectexplorer/kit.h> +#include <projectexplorer/kitinformation.h> +#include <projectexplorer/target.h> +#include <projectexplorer/toolchain.h> + using namespace Analyzer; using namespace ProjectExplorer; @@ -36,8 +42,16 @@ ClangStaticAnalyzerRunControlFactory::ClangStaticAnalyzerRunControlFactory(QObje bool ClangStaticAnalyzerRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode runMode) const { - Q_UNUSED(runConfiguration); - return runMode == ClangStaticAnalyzerMode; + if (runMode != ClangStaticAnalyzerMode) + return false; + + Target *target = runConfiguration->target(); + QTC_ASSERT(target, return false); + Kit *kit = target->kit(); + QTC_ASSERT(kit, return false); + ToolChain *toolChain = ToolChainKitInformation::toolChain(kit); + QTC_ASSERT(toolChain, return false); + return toolChain->type() == QLatin1String("clang") || toolChain->type() == QLatin1String("gcc"); } RunControl *ClangStaticAnalyzerRunControlFactory::create(RunConfiguration *runConfiguration, |