From 7affb80fc386652ba544bb7812f109caf08d39ab Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 16 Nov 2023 16:36:21 +0100 Subject: [PATCH] CMakePM: Do not show source/group/path twice For the cases of: source_group(TREE ${CMAKE_SOURCE_DIR} FILES my/subdir/file.cpp) Treat the "my\\subdir" part in the project view as part of the source group name. Fixes: QTCREATORBUG-29799 Change-Id: I92bf581be25d085783bcdadd8a418b849a29c708 Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/fileapidataextractor.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index b5b692da080..70e5900dfcb 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -664,7 +664,10 @@ static void addCompileGroups(ProjectNode *targetRoot, sourceDirectory, targetRoot); if (showSourceFolders) { - insertNode->addNestedNodes(std::move(current), sourceDirectory); + FilePath baseDir = sourceDirectory.pathAppended(td.sourceGroups[i]); + if (!baseDir.exists()) + baseDir = sourceDirectory; + insertNode->addNestedNodes(std::move(current), baseDir); } else { for (auto &fileNodes : current) insertNode->addNode(std::move(fileNodes));