forked from qt-creator/qt-creator
CMakePM: Display <File System> tree node only on failure
Fixes: QTCREATORBUG-25994 Fixes: QTCREATORBUG-25974 Change-Id: I383fe5c28d1f71c8f7939bc9fe4f1f0bf1d6a01b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -522,11 +522,9 @@ void CMakeBuildSystem::clearCMakeCache()
|
||||
}
|
||||
|
||||
std::unique_ptr<CMakeProjectNode> CMakeBuildSystem::generateProjectTree(
|
||||
const TreeScanner::Result &allFiles, bool includeHeaderNodes)
|
||||
const TreeScanner::Result &allFiles, bool failedToParse)
|
||||
{
|
||||
QString errorMessage;
|
||||
auto root = m_reader.generateProjectTree(allFiles, errorMessage, includeHeaderNodes);
|
||||
checkAndReportError(errorMessage);
|
||||
auto root = m_reader.generateProjectTree(allFiles, failedToParse);
|
||||
return root;
|
||||
}
|
||||
|
||||
@@ -599,7 +597,7 @@ void CMakeBuildSystem::updateProjectData()
|
||||
|
||||
Project *p = project();
|
||||
{
|
||||
auto newRoot = generateProjectTree(m_allFiles, true);
|
||||
auto newRoot = generateProjectTree(m_allFiles, false);
|
||||
if (newRoot) {
|
||||
setRootProjectNode(std::move(newRoot));
|
||||
|
||||
@@ -698,7 +696,7 @@ void CMakeBuildSystem::updateFallbackProjectData()
|
||||
|
||||
QTC_ASSERT(m_treeScanner.isFinished() && !m_reader.isParsing(), return );
|
||||
|
||||
auto newRoot = generateProjectTree(m_allFiles, false);
|
||||
auto newRoot = generateProjectTree(m_allFiles, true);
|
||||
setRootProjectNode(std::move(newRoot));
|
||||
|
||||
qCDebug(cmakeBuildSystemLog) << "All fallback CMake project data up to date.";
|
||||
|
@@ -131,7 +131,7 @@ private:
|
||||
void combineScanAndParse();
|
||||
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles, bool includeHeadersNode);
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles, bool failedToParse);
|
||||
void checkAndReportError(QString &errorMessage);
|
||||
|
||||
void updateCMakeConfiguration(QString &errorMessage);
|
||||
|
@@ -216,16 +216,13 @@ bool FileApiReader::usesAllCapsTargets() const
|
||||
}
|
||||
|
||||
std::unique_ptr<CMakeProjectNode> FileApiReader::generateProjectTree(
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles,
|
||||
QString &errorMessage,
|
||||
bool includeHeaderNodes)
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles, bool failedToParse)
|
||||
{
|
||||
Q_UNUSED(errorMessage)
|
||||
|
||||
if (includeHeaderNodes) {
|
||||
if (failedToParse)
|
||||
addFileSystemNodes(m_rootProjectNode.get(), allFiles.folderNode);
|
||||
else
|
||||
addHeaderNodes(m_rootProjectNode.get(), m_knownHeaders, allFiles.allFiles);
|
||||
}
|
||||
addFileSystemNodes(m_rootProjectNode.get(), allFiles.folderNode);
|
||||
|
||||
return std::exchange(m_rootProjectNode, {});
|
||||
}
|
||||
|
||||
|
@@ -72,9 +72,7 @@ public:
|
||||
CMakeConfig takeParsedConfiguration(QString &errorMessage);
|
||||
QString ctestPath() const;
|
||||
std::unique_ptr<CMakeProjectNode> generateProjectTree(
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles,
|
||||
QString &errorMessage,
|
||||
bool includeHeaderNodes);
|
||||
const ProjectExplorer::TreeScanner::Result &allFiles, bool failedToParse);
|
||||
ProjectExplorer::RawProjectParts createRawProjectParts(QString &errorMessage);
|
||||
|
||||
bool isMultiConfig() const;
|
||||
|
Reference in New Issue
Block a user