From 0958fedbdf48a1090255a3dee2771d43347e5fcf Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 4 Dec 2024 14:19:48 +0100 Subject: [PATCH] ClangTools: Create compilation db also for DocumentClangToolRunner This was forgotten in a360d855ae60f4686fa0d2ef7595f4f951fca581. Fixes: QTCREATORBUG-32098 Change-Id: Iea3b3b61238164d8fb5190131567af2e21a7b7d4 Reviewed-by: David Schulz --- src/plugins/clangtools/documentclangtoolrunner.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp index df9109ce128..093df0ab7b0 100644 --- a/src/plugins/clangtools/documentclangtoolrunner.cpp +++ b/src/plugins/clangtools/documentclangtoolrunner.cpp @@ -3,6 +3,7 @@ #include "documentclangtoolrunner.h" +#include "clangtoolscompilationdb.h" #include "clangtoolsconstants.h" #include "clangtoolrunner.h" #include "clangtoolsutils.h" @@ -158,6 +159,18 @@ static Environment projectBuildEnvironment(Project *project) void DocumentClangToolRunner::run() { + for (const ClangToolType type : {ClangToolType::Tidy, ClangToolType::Clazy}) { + ClangToolsCompilationDb &db = ClangToolsCompilationDb::getDb(type); + db.disconnect(this); + if (db.generateIfNecessary()) { + connect(&db, &ClangToolsCompilationDb::generated, this, [this](bool success) { + if (success) + run(); + }, Qt::SingleShotConnection); + return; + } + } + if (m_projectSettingsUpdate) disconnect(m_projectSettingsUpdate); m_taskTreeRunner.reset();