Cppcheck: Add ability to manually run cppcheck

Run cppcheck on selected files from current project via "Analyze"->"Cppcheck...."
Show results in a separate view in the same manner as ClangTools plugin.

Fixes: QTCREATORBUG-21673
Change-Id: Ibcaf4057a387a990f1da59025f15ba58f996953f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Sergey Morozov
2019-11-03 23:00:16 +03:00
parent 07490e76de
commit 0aa95576c2
20 changed files with 936 additions and 126 deletions

View File

@@ -50,7 +50,7 @@ namespace Cppcheck {
namespace Internal {
class CppcheckRunner;
class CppcheckTextMarkManager;
class CppcheckDiagnosticManager;
class CppcheckOptions;
class CppcheckTool final : public QObject
@@ -58,7 +58,7 @@ class CppcheckTool final : public QObject
Q_OBJECT
public:
explicit CppcheckTool(CppcheckTextMarkManager &marks);
CppcheckTool(CppcheckDiagnosticManager &manager, const Core::Id &progressId);
~CppcheckTool() override;
void updateOptions(const CppcheckOptions &options);
@@ -78,7 +78,7 @@ private:
void addToQueue(const Utils::FilePathList &files, CppTools::ProjectPart &part);
QStringList additionalArguments(const CppTools::ProjectPart &part) const;
CppcheckTextMarkManager &m_marks;
CppcheckDiagnosticManager &m_manager;
CppcheckOptions m_options;
QPointer<ProjectExplorer::Project> m_project;
std::unique_ptr<CppcheckRunner> m_runner;
@@ -87,6 +87,7 @@ private:
QVector<QRegExp> m_filters;
QRegularExpression m_progressRegexp;
QRegularExpression m_messageRegexp;
Core::Id m_progressId;
};
} // namespace Internal