aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-03-12 09:27:39 +0100
committerEike Ziller <eike.ziller@qt.io>2024-03-12 09:27:39 +0100
commit1b97fdc100b267faf5a02629197f24c3ae3ac2b0 (patch)
treedd4a574ff256a050de3e50d8015e8b9261a011f2 /src/plugins/cmakeprojectmanager
parent8c5c849b71dd2175acfdf70d761966c39bbad67d (diff)
parent9934a9cafafea4276ba7a325e3c899ba9ba2cd46 (diff)
Merge remote-tracking branch 'origin/13.0'
Conflicts: src/plugins/debugger/gdb/gdbsettings.cpp src/plugins/perfprofiler/perfprofilerruncontrol.cpp Change-Id: I0d5b914f9d9b5499920a5db484ef77af6ae748d5
Diffstat (limited to 'src/plugins/cmakeprojectmanager')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeeditor.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
index 89ea1eceee..968d6260e7 100644
--- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
@@ -353,18 +353,25 @@ void CMakeEditorWidget::findLinkAt(const QTextCursor &cursor,
if (buffer.startsWith("${") && buffer.endsWith("}"))
buffer = buffer.mid(2, buffer.size() - 3);
- if (cbs->cmakeSymbolsHash().contains(buffer)) {
+ QString functionName;
+ if (funcStart > funcEnd) {
+ int funcStartPos = findWordStart(funcStart);
+ functionName = textDocument()->textAt(funcStartPos, funcStart - funcStartPos);
+ }
+
+ bool skipTarget = false;
+ if (functionName.toLower() == "add_subdirectory") {
+ skipTarget = cbs->projectImportedTargets().contains(buffer)
+ || cbs->buildTargetTitles().contains(buffer);
+ }
+ if (!skipTarget && cbs->cmakeSymbolsHash().contains(buffer)) {
link = cbs->cmakeSymbolsHash().value(buffer);
addTextStartEndToLink(link);
return processLinkCallback(link);
}
// Handle include(CMakeFileWithoutSuffix) and find_package(Package)
- QString functionName;
- if (funcStart > funcEnd) {
- int funcStartPos = findWordStart(funcStart);
- functionName = textDocument()->textAt(funcStartPos, funcStart - funcStartPos);
-
+ if (!functionName.isEmpty()) {
struct FunctionToHash
{
QString functionName;