CMakePM: Do not treat generated files as project files

This would trigger an infinite loop.

Fixes: QTCREATORBUG-26207
Fixes: QTCREATORBUG-26204
Fixes: QTCREATORBUG-25346
Fixes: QTCREATORBUG-25995
Fixes: QTCREATORBUG-25183
Fixes: QTCREATORBUG-25512
Change-Id: Iaf081a00dcf318a0ec2708e839e0ab6535e0ef4d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Cristian Adam
2021-09-01 19:49:08 +02:00
parent 1030715abc
commit 27f0dd134f
6 changed files with 41 additions and 26 deletions

View File

@@ -44,12 +44,26 @@ namespace Internal {
class FileApiData;
class CMakeFileInfo
{
public:
bool operator==(const CMakeFileInfo& other) const { return path == other.path; }
Utils::FilePath path;
bool isCMake = false;
bool isCMakeListsDotTxt = false;
bool isExternal = false;
bool isGenerated = false;
};
inline uint qHash(const CMakeFileInfo &info, uint seed = 0) { return info.path.hash(seed); }
class FileApiQtcData
{
public:
QString errorMessage;
CMakeConfig cache;
QSet<Utils::FilePath> cmakeFiles;
QSet<CMakeFileInfo> cmakeFiles;
QList<CMakeBuildTarget> buildTargets;
ProjectExplorer::RawProjectParts projectParts;
std::unique_ptr<CMakeProjectNode> rootProjectNode;