summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/cmakeprojectmanager/servermodereader.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp
index 874c8f4f74..59f6113b36 100644
--- a/src/plugins/cmakeprojectmanager/servermodereader.cpp
+++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp
@@ -702,14 +702,15 @@ void ServerModeReader::addFileGroups(ProjectNode *targetRoot,
}
// Split up files in groups (based on location):
+ const bool inSourceBuild = (m_parameters.buildDirectory == m_parameters.sourceDirectory);
QList<FileNode *> sourceFileNodes;
QList<FileNode *> buildFileNodes;
QList<FileNode *> otherFileNodes;
foreach (FileNode *fn, toList) {
- if (fn->filePath().isChildOf(m_parameters.sourceDirectory))
- sourceFileNodes.append(fn);
- else if (fn->filePath().isChildOf(m_parameters.buildDirectory))
+ if (fn->filePath().isChildOf(m_parameters.buildDirectory) && !inSourceBuild)
buildFileNodes.append(fn);
+ else if (fn->filePath().isChildOf(m_parameters.sourceDirectory))
+ sourceFileNodes.append(fn);
else
otherFileNodes.append(fn);
}