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:
Nikolai Kosjar
2019-09-25 15:46:15 +02:00
parent d2648db914
commit b895dfa382
35 changed files with 523 additions and 443 deletions

View File

@@ -26,7 +26,9 @@
#pragma once
#include <coreplugin/id.h>
#include <cpptools/clangdiagnosticconfig.h>
#include <QObject>
#include <QString>
namespace ClangTools {
@@ -44,6 +46,7 @@ public:
Core::Id diagnosticConfigId() const { return m_diagnosticConfigId; }
void setDiagnosticConfigId(const Core::Id &id) { m_diagnosticConfigId = id; }
void resetDiagnosticConfigId();
bool buildBeforeAnalysis() const { return m_buildBeforeAnalysis; }
void setBuildBeforeAnalysis(bool yesno) { m_buildBeforeAnalysis = yesno; }
@@ -52,13 +55,15 @@ public:
void setParallelJobs(int jobs) { m_parallelJobs = jobs; }
private:
Core::Id m_diagnosticConfigId = "Builtin.TidyAndClazy"; // TODO
Core::Id m_diagnosticConfigId;
int m_parallelJobs = -1;
bool m_buildBeforeAnalysis = true;
};
class ClangToolsSettings
class ClangToolsSettings : public QObject
{
Q_OBJECT
public:
static ClangToolsSettings *instance();
void writeSettings();
@@ -69,9 +74,16 @@ public:
QString clazyStandaloneExecutable() const { return m_clazyStandaloneExecutable; }
void setClazyStandaloneExecutable(const QString &path) { m_clazyStandaloneExecutable = path; }
CppTools::ClangDiagnosticConfigs diagnosticConfigs() const { return m_diagnosticConfigs; }
void setDiagnosticConfigs(const CppTools::ClangDiagnosticConfigs &configs)
{ m_diagnosticConfigs = configs; }
RunSettings runSettings() const { return m_runSettings; }
void setRunSettings(const RunSettings &settings) { m_runSettings = settings; }
signals:
void changed();
private:
ClangToolsSettings();
void readSettings();
@@ -80,6 +92,9 @@ private:
QString m_clangTidyExecutable;
QString m_clazyStandaloneExecutable;
// Diagnostic Configs
CppTools::ClangDiagnosticConfigs m_diagnosticConfigs;
// Run settings
RunSettings m_runSettings;
};