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));