From 4329b67c7476f21b3b7f46f139a384dc4712039f Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 15 Feb 2024 12:49:39 +0100 Subject: [PATCH] Clangd: Fix version check to use (remote) executable Fixes: QTCREATORBUG-30374 Change-Id: I4a98a82ea24bb55a2ab3eed72f13d3d6f648df8a Reviewed-by: Christian Kandeler --- src/plugins/clangcodemodel/clangdclient.cpp | 4 ++-- src/plugins/cppeditor/cppcodemodelsettings.cpp | 2 +- src/plugins/cppeditor/cppcodemodelsettings.h | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index e5e5142370d..46aa5848f7c 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -207,11 +207,11 @@ static BaseClientInterface *clientInterface(Project *project, const Utils::FileP "--clang-tidy=0"}}; if (settings.workerThreadLimit() != 0) cmd.addArg("-j=" + QString::number(settings.workerThreadLimit())); - if (indexingEnabled && settings.clangdVersion() >= QVersionNumber(15)) { + if (indexingEnabled && Utils::clangdVersion(clangdExePath) >= QVersionNumber(15)) { cmd.addArg("--background-index-priority=" + ClangdSettings::priorityToString(indexingPriority)); } - if (settings.clangdVersion() >= QVersionNumber(16)) + if (Utils::clangdVersion(clangdExePath) >= QVersionNumber(16)) cmd.addArg("--rename-file-limit=0"); if (!jsonDbDir.isEmpty()) cmd.addArg("--compile-commands-dir=" + clangdExePath.withNewMappedPath(jsonDbDir).path()); diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index db6231cfe99..bac28694f52 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -273,7 +273,7 @@ ClangdSettings::ClangdSettings() bool ClangdSettings::useClangd() const { - return m_data.useClangd && clangdVersion() >= QVersionNumber(14); + return m_data.useClangd && Utils::clangdVersion(clangdFilePath()) >= QVersionNumber(14); } void ClangdSettings::setUseClangd(bool use) { instance().m_data.useClangd = use; } diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index b4f8ac7269d..6b491855107 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -182,7 +182,6 @@ public: void setData(const Data &data); Data data() const { return m_data; } - QVersionNumber clangdVersion() const { return Utils::clangdVersion(clangdFilePath()); } Utils::FilePath clangdIncludePath() const; static Utils::FilePath clangdUserConfigFilePath();