ClangTools: Use separate diagnostic settings for ClangTools

Share diagnostic configuration profiles between
ClangTools and ClangCodeModel but keep the unique
configuration index for each of them.

Change-Id: I86d95f7f220e929d60a53f3633167adfcd62a2da
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-05-07 15:40:14 +02:00
parent 3737b6a124
commit 92fdbdc404
5 changed files with 113 additions and 13 deletions

View File

@@ -25,10 +25,13 @@
#include "clangtidyclazyrunner.h"
#include "clangtoolssettings.h"
#include <cpptools/cppcodemodelsettings.h>
#include <cpptools/cpptoolsreuse.h>
#include <utils/synchronousprocess.h>
#include <utils/qtcassert.h>
#include <QDebug>
#include <QDir>
@@ -75,7 +78,12 @@ QStringList ClangTidyClazyRunner::constructCommandLineArguments(const QStringLis
<< QString("-serialize-diagnostics")
<< QString(m_logFile);
const ClangDiagnosticConfig config = CppTools::codeModelSettings()->clangDiagnosticConfig();
const ClangDiagnosticConfigsModel configsModel(
CppTools::codeModelSettings()->clangCustomDiagnosticConfigs());
const Core::Id configId = ClangToolsSettings::instance()->savedDiagnosticConfigId();
QTC_ASSERT(configsModel.hasConfigWithId(configId), return arguments;);
const ClangDiagnosticConfig &config = configsModel.configWithId(configId);
const ClangDiagnosticConfig::TidyMode tidyMode = config.clangTidyMode();
if (tidyMode != ClangDiagnosticConfig::TidyMode::Disabled) {