forked from qt-creator/qt-creator
CMake: Get rid of <Source Directory> in server-mode
Change-Id: Ifa4f813d577ab64351d25eb4be1dc7981687da23 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -247,9 +247,12 @@ static void addCMakeVFolder(FolderNode *base, const Utils::FileName &basePath, i
|
||||
{
|
||||
if (files.isEmpty())
|
||||
return;
|
||||
auto folder = new VirtualFolderNode(basePath, priority);
|
||||
folder->setDisplayName(displayName);
|
||||
base->addNode(folder);
|
||||
FolderNode *folder = base;
|
||||
if (!displayName.isEmpty()) {
|
||||
folder = new VirtualFolderNode(basePath, priority);
|
||||
folder->setDisplayName(displayName);
|
||||
base->addNode(folder);
|
||||
}
|
||||
folder->addNestedNodes(files);
|
||||
for (FolderNode *fn : folder->folderNodes())
|
||||
fn->compress();
|
||||
@@ -265,9 +268,7 @@ static void addCMakeInputs(FolderNode *root,
|
||||
ProjectNode *cmakeVFolder = new CMakeInputsNode(root->filePath());
|
||||
root->addNode(cmakeVFolder);
|
||||
|
||||
addCMakeVFolder(cmakeVFolder, sourceDir, 1000,
|
||||
QCoreApplication::translate("CMakeProjectManager::Internal::ServerModeReader", "<Source Directory>"),
|
||||
sourceInputs);
|
||||
addCMakeVFolder(cmakeVFolder, sourceDir, 1000, QString(), sourceInputs);
|
||||
addCMakeVFolder(cmakeVFolder, buildDir, 100,
|
||||
QCoreApplication::translate("CMakeProjectManager::Internal::ServerModeReader", "<Build Directory>"),
|
||||
buildInputs);
|
||||
@@ -686,12 +687,13 @@ static CMakeTargetNode *createTargetNode(const QHash<Utils::FileName, ProjectNod
|
||||
ProjectNode *cmln = cmakeListsNodes.value(dir);
|
||||
QTC_ASSERT(cmln, return nullptr);
|
||||
|
||||
Utils::FileName targetName = dir;
|
||||
targetName.appendPath(".target::" + displayName);
|
||||
QByteArray targetId = CMakeTargetNode::generateId(dir, displayName);
|
||||
|
||||
CMakeTargetNode *tn = static_cast<CMakeTargetNode *>(cmln->projectNode(targetName));
|
||||
CMakeTargetNode *tn = static_cast<CMakeTargetNode *>(cmln->findNode([&targetId](const Node *n) {
|
||||
return n->id() == targetId;
|
||||
}));
|
||||
if (!tn) {
|
||||
tn = new CMakeTargetNode(targetName);
|
||||
tn = new CMakeTargetNode(dir, displayName);
|
||||
cmln->addNode(tn);
|
||||
}
|
||||
tn->setDisplayName(displayName);
|
||||
@@ -748,7 +750,7 @@ void ServerModeReader::addFileGroups(ProjectNode *targetRoot,
|
||||
otherFileNodes.append(fn);
|
||||
}
|
||||
|
||||
addCMakeVFolder(targetRoot, sourceDirectory, 1000, tr("<Source Directory>"), sourceFileNodes);
|
||||
addCMakeVFolder(targetRoot, sourceDirectory, 1000, QString(), sourceFileNodes);
|
||||
addCMakeVFolder(targetRoot, buildDirectory, 100, tr("<Build Directory>"), buildFileNodes);
|
||||
addCMakeVFolder(targetRoot, Utils::FileName(), 10, tr("<Other Locations>"), otherFileNodes);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user