forked from qt-creator/qt-creator
Clang: add clang plugins checks to code model settings
Add UI controls to change settings and apply them together with warnings and command line options. Current settings are not very flexible but should be easy to test and use without reading tidy/clazy help. Change-Id: I1ca6b49a42a1169b34a703dd50de0bbc105df28f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -553,12 +553,54 @@ static QStringList warningOptions(CppTools::ProjectPart *projectPart)
|
||||
return CppTools::codeModelSettings()->clangDiagnosticConfig().commandLineWarnings();
|
||||
}
|
||||
|
||||
static QStringList tidyCommandLine()
|
||||
{
|
||||
const QString tidyChecks = CppTools::codeModelSettings()->tidyChecks();
|
||||
|
||||
if (tidyChecks.isEmpty())
|
||||
return QStringList();
|
||||
|
||||
QStringList result;
|
||||
result.append("-Xclang");
|
||||
result.append("-add-plugin");
|
||||
result.append("-Xclang");
|
||||
result.append("clang-tidy");
|
||||
result.append("-Xclang");
|
||||
result.append("-plugin-arg-clang-tidy");
|
||||
result.append("-Xclang");
|
||||
result.append("-checks='-*" + tidyChecks + "'");
|
||||
return result;
|
||||
}
|
||||
|
||||
static QStringList clazyCommandLine()
|
||||
{
|
||||
const QString clazyChecks = CppTools::codeModelSettings()->clazyChecks();
|
||||
|
||||
if (clazyChecks.isEmpty())
|
||||
return QStringList();
|
||||
|
||||
QStringList result;
|
||||
result.append("-Xclang");
|
||||
result.append("-add-plugin");
|
||||
result.append("-Xclang");
|
||||
result.append("clang-lazy");
|
||||
result.append("-Xclang");
|
||||
result.append("-plugin-arg-clang-lazy");
|
||||
result.append("-Xclang");
|
||||
result.append(clazyChecks);
|
||||
return result;
|
||||
}
|
||||
|
||||
static QStringList commandLineOptions(CppTools::ProjectPart *projectPart)
|
||||
{
|
||||
QStringList result;
|
||||
if (!projectPart || !projectPart->project)
|
||||
return ClangProjectSettings::globalCommandLineOptions();
|
||||
|
||||
return ClangProjectSettings{projectPart->project}.commandLineOptions();
|
||||
result.append(ClangProjectSettings::globalCommandLineOptions());
|
||||
else
|
||||
result.append(ClangProjectSettings{projectPart->project}.commandLineOptions());
|
||||
result.append(tidyCommandLine());
|
||||
result.append(clazyCommandLine());
|
||||
return result;
|
||||
}
|
||||
|
||||
static QStringList precompiledHeaderOptions(
|
||||
|
||||
Reference in New Issue
Block a user