forked from qt-creator/qt-creator
Clang/ClangTools: Separate custom diagnostic configs
Add a separate pool of custom diagnostic configs for the ClangTools plugin. That is, the diagnostic configs in Menu: Tools > C++ > Code Model are not shared anymore with the configs at Menu: Tools > Analyzer > ClangTools On plugin initialization of ClangTools, move tidy/clazy related configs to ClangTools. Change-Id: Id06087a58b53e466a3d7bbac669550c5fbe9899d Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -39,7 +39,6 @@
|
||||
|
||||
#include <cpptools/builtincursorinfo.h>
|
||||
#include <cpptools/clangdiagnosticconfigsmodel.h>
|
||||
#include <cpptools/clangdiagnosticconfigsmodel.h>
|
||||
#include <cpptools/compileroptionsbuilder.h>
|
||||
#include <cpptools/cppcodemodelsettings.h>
|
||||
#include <cpptools/cppmodelmanager.h>
|
||||
@@ -480,8 +479,8 @@ private:
|
||||
ClangProjectSettings &projectSettings = getProjectSettings(m_projectPart.project);
|
||||
if (!projectSettings.useGlobalConfig()) {
|
||||
const Core::Id warningConfigId = projectSettings.warningConfigId();
|
||||
const CppTools::ClangDiagnosticConfigsModel configsModel(
|
||||
CppTools::codeModelSettings()->clangCustomDiagnosticConfigs());
|
||||
const CppTools::ClangDiagnosticConfigsModel configsModel
|
||||
= CppTools::diagnosticConfigsModel();
|
||||
if (configsModel.hasConfigWithId(warningConfigId)) {
|
||||
addDiagnosticOptionsForConfig(configsModel.configWithId(warningConfigId));
|
||||
return;
|
||||
@@ -500,42 +499,6 @@ private:
|
||||
: CppTools::UseBuildSystemWarnings::No;
|
||||
|
||||
m_options.append(diagnosticConfig.clangOptions());
|
||||
addClangTidyOptions(diagnosticConfig);
|
||||
addClazyOptions(diagnosticConfig.clazyChecks());
|
||||
}
|
||||
|
||||
void addClangTidyOptions(const CppTools::ClangDiagnosticConfig &diagnosticConfig)
|
||||
{
|
||||
using Mode = CppTools::ClangDiagnosticConfig::TidyMode;
|
||||
Mode tidyMode = diagnosticConfig.clangTidyMode();
|
||||
if (tidyMode == Mode::Disabled)
|
||||
return;
|
||||
|
||||
m_options.append(CppTools::XclangArgs({"-add-plugin", "clang-tidy"}));
|
||||
|
||||
if (tidyMode == Mode::File)
|
||||
return;
|
||||
|
||||
const QString checks = diagnosticConfig.clangTidyChecks();
|
||||
if (!checks.isEmpty())
|
||||
m_options.append(CppTools::XclangArgs({"-plugin-arg-clang-tidy", "-checks=" + checks}));
|
||||
}
|
||||
|
||||
void addClazyOptions(const QString &checks)
|
||||
{
|
||||
if (checks.isEmpty())
|
||||
return;
|
||||
|
||||
m_options.append(CppTools::XclangArgs({"-add-plugin",
|
||||
"clazy",
|
||||
"-plugin-arg-clazy",
|
||||
"enable-all-fixits",
|
||||
"-plugin-arg-clazy",
|
||||
"no-autowrite-fixits",
|
||||
"-plugin-arg-clazy",
|
||||
checks,
|
||||
"-plugin-arg-clazy",
|
||||
"ignore-included-files"}));
|
||||
}
|
||||
|
||||
void addGlobalDiagnosticOptions()
|
||||
|
||||
Reference in New Issue
Block a user