ClangTools: Support clang-tidy check options

Fixes: QTCREATORBUG-24977
Change-Id: I33ea247ba98788245ae1264262f60d084b73778c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Christian Kandeler
2020-12-16 10:48:36 +01:00
parent 13c9b42a21
commit 1a09f816a3
4 changed files with 182 additions and 3 deletions

View File

@@ -29,6 +29,7 @@
#include <utils/id.h>
#include <QHash>
#include <QStringList>
#include <QVector>
@@ -69,10 +70,17 @@ public:
void setClangTidyMode(TidyMode mode);
QString clangTidyChecks() const;
QString clangTidyChecksAsJson() const;
void setClangTidyChecks(const QString &checks);
bool isClangTidyEnabled() const;
using TidyCheckOptions = QMap<QString, QString>;
void setTidyCheckOptions(const QString &check, const TidyCheckOptions &options);
TidyCheckOptions tidyCheckOptions(const QString &check) const;
void setTidyChecksOptionsFromSettings(const QVariant &options);
QVariant tidyChecksOptionsForSettings() const;
// Clazy
enum class ClazyMode
{
@@ -96,6 +104,7 @@ private:
QStringList m_clangOptions;
TidyMode m_clangTidyMode = TidyMode::UseDefaultChecks;
QString m_clangTidyChecks;
QHash<QString, TidyCheckOptions> m_tidyChecksOptions;
QString m_clazyChecks;
ClazyMode m_clazyMode = ClazyMode::UseDefaultChecks;
bool m_isReadOnly = false;