diff options
Diffstat (limited to 'src/plugins/clangtools/clangtoolruncontrol.cpp')
-rw-r--r-- | src/plugins/clangtools/clangtoolruncontrol.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index b60e3d0400..090e9d8216 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -31,6 +31,7 @@ #include "clangtoolsprojectsettings.h" #include "clangtoolssettings.h" #include "clangtoolsutils.h" +#include "executableinfo.h" #include <debugger/analyzer/analyzerconstants.h> @@ -153,7 +154,8 @@ private: bool m_success = false; }; -static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos) +static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos, const FilePath &clangResourceDir, + const QString &clangVersion) { AnalyzeUnits unitsToAnalyze; const UsePrecompiledHeaders usePrecompiledHeaders = CppTools::getPchUsage(); @@ -163,8 +165,8 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos) UseTweakedHeaderPaths::Yes, UseLanguageDefines::No, UseBuildSystemWarnings::No, - QString(CLANG_VERSION), - QString(CLANG_RESOURCE_DIR)); + clangVersion, + clangResourceDir.toString()); QStringList arguments = extraClangToolsPrependOptions(); arguments.append(optionsBuilder.build(fileInfo.kind, usePrecompiledHeaders)); arguments.append(extraClangToolsAppendOptions()); @@ -174,11 +176,12 @@ static AnalyzeUnits toAnalyzeUnits(const FileInfos &fileInfos) return unitsToAnalyze; } -AnalyzeUnits ClangToolRunWorker::unitsToAnalyze() +AnalyzeUnits ClangToolRunWorker::unitsToAnalyze(const FilePath &clangResourceDir, + const QString &clangVersion) { QTC_ASSERT(m_projectInfo.isValid(), return AnalyzeUnits()); - return toAnalyzeUnits(m_fileInfos); + return toAnalyzeUnits(m_fileInfos, clangResourceDir, clangVersion); } static QDebug operator<<(QDebug debug, const Utils::Environment &environment) @@ -223,8 +226,7 @@ ClangToolRunWorker::ClangToolRunWorker(RunControl *runControl, QTC_ASSERT(buildConfiguration, return); m_environment = buildConfiguration->environment(); - ToolChain *toolChain = ToolChainKitAspect::toolChain(target->kit(), - ProjectExplorer::Constants::CXX_LANGUAGE_ID); + ToolChain *toolChain = ToolChainKitAspect::cxxToolChain(target->kit()); QTC_ASSERT(toolChain, return); m_targetTriple = toolChain->originalTargetTriple(); m_toolChainType = toolChain->typeId(); @@ -237,12 +239,8 @@ QList<RunnerCreator> ClangToolRunWorker::runnerCreators() if (m_diagnosticConfig.isClangTidyEnabled()) creators << [this]() { return createRunner<ClangTidyRunner>(); }; - if (m_diagnosticConfig.isClazyEnabled()) { - if (!qEnvironmentVariable("QTC_USE_CLAZY_STANDALONE_PATH").isEmpty()) - creators << [this]() { return createRunner<ClazyStandaloneRunner>(); }; - else - creators << [this]() { return createRunner<ClazyPluginRunner>(); }; - } + if (m_diagnosticConfig.isClazyEnabled()) + creators << [this]() { return createRunner<ClazyStandaloneRunner>(); }; return creators; } @@ -290,7 +288,10 @@ void ClangToolRunWorker::start() Utils::NormalMessageFormat); // Collect files - const AnalyzeUnits unitsToProcess = unitsToAnalyze(); + const auto clangResourceDirAndVersion = + getClangResourceDirAndVersion(runControl()->runnable().executable); + const AnalyzeUnits unitsToProcess = unitsToAnalyze(clangResourceDirAndVersion.first, + clangResourceDirAndVersion.second); qCDebug(LOG) << "Files to process:" << unitsToProcess; m_queue.clear(); @@ -389,7 +390,6 @@ void ClangToolRunWorker::onRunnerFinishedWithSuccess(const QString &filePath) QString errorMessage; const Diagnostics diagnostics = tool()->read(runner->outputFileFormat(), outputFilePath, - filePath, m_projectFiles, &errorMessage); |