ClangTools: Make version number available via settings

Change-Id: I9501f5a3234fb995a7ca3192adc1569febb8662e
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-06-24 16:13:14 +02:00
parent e539ac263a
commit d083fd0227
4 changed files with 59 additions and 13 deletions

View File

@@ -198,5 +198,38 @@ void ClangToolsSettings::writeSettings()
emit changed();
}
void ClangToolsSettings::setClangTidyExecutable(const QString &path)
{
m_clangTidyExecutable = path;
m_clangTidyVersion = {};
}
void ClangTools::Internal::ClangToolsSettings::setClazyStandaloneExecutable(const QString &path)
{
m_clazyStandaloneExecutable = path;
m_clazyVersion = {};
}
static QVersionNumber getVersionNumber(QVersionNumber &version, const QString &toolFilePath)
{
if (version.isNull() && !toolFilePath.isEmpty()) {
version = QVersionNumber::fromString(queryVersion(Utils::FilePath::fromString(toolFilePath),
QueryFailMode::Silent));
};
return version;
}
QVersionNumber ClangToolsSettings::clangTidyVersion()
{
return getVersionNumber(instance()->m_clangTidyVersion,
ClangTools::Internal::clangTidyExecutable());
}
QVersionNumber ClangToolsSettings::clazyVersion()
{
return getVersionNumber(instance()->m_clazyVersion,
ClangTools::Internal::clazyStandaloneExecutable());
}
} // namespace Internal
} // namespace ClangTools