forked from qt-creator/qt-creator
CMakeProjectManager: Add File System virtual folder
If a CMake project cannot be parsed by CMake, it is practically unusable in Qt Creator. According to discussion in QTCREATORBUG-24677, a virtual folder with the project's file system view is added to the project manager as a convenience feature. Fixes: QTCREATORBUG-24677 Change-Id: I48775bb89c704d3f7e5bb21ec6481bd5cc0f4b6c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -692,5 +692,29 @@ FileApiQtcData extractData(FileApiData &input,
|
||||
return result;
|
||||
}
|
||||
|
||||
FileApiQtcData generateFallbackData(const FilePath &topCmakeFile,
|
||||
const FilePath &sourceDirectory,
|
||||
const FilePath &buildDirectory,
|
||||
QString errorMessage)
|
||||
{
|
||||
FileApiQtcData result;
|
||||
|
||||
result.rootProjectNode.reset(new CMakeProjectNode{sourceDirectory});
|
||||
result.rootProjectNode->setDisplayName(sourceDirectory.fileName());
|
||||
result.errorMessage = errorMessage;
|
||||
|
||||
if (!topCmakeFile.isEmpty()) {
|
||||
auto node = std::make_unique<FileNode>(topCmakeFile, FileType::Project);
|
||||
node->setIsGenerated(false);
|
||||
|
||||
std::vector<std::unique_ptr<FileNode>> fileNodes;
|
||||
fileNodes.emplace_back(std::move(node));
|
||||
|
||||
addCMakeLists(result.rootProjectNode.get(), std::move(fileNodes));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace CMakeProjectManager
|
||||
|
||||
Reference in New Issue
Block a user