From cfb79828cf3a252034c23ac47462308ad176e6e2 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 7 Sep 2010 17:48:37 +0200
Subject: [PATCH] CMake ProjectManager: Hide generated files

The heuristic to detect generated files is pretty basic and tries to
match the filenames against 3 patterns.

Task-Nr: QTCREATORBUG-2077
---
 src/plugins/cmakeprojectmanager/cmakeproject.cpp | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index bee7b10d37e..ef877036702 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -201,7 +201,8 @@ bool CMakeProject::parseCMakeLists()
     } else {
         // Manually add the CMakeLists.txt file
         QString cmakeListTxt = projectDirectory() + "/CMakeLists.txt";
-        fileList.append(new ProjectExplorer::FileNode(cmakeListTxt, ProjectExplorer::ProjectFileType, false));
+        bool generated = false;
+        fileList.append(new ProjectExplorer::FileNode(cmakeListTxt, ProjectExplorer::ProjectFileType, generated));
         projectFiles.insert(cmakeListTxt);
     }
 
@@ -911,10 +912,17 @@ void CMakeCbpParser::parseUnit()
                 if (m_parsingCmakeUnit) {
                     m_cmakeFileList.append( new ProjectExplorer::FileNode(fileName, ProjectExplorer::ProjectFileType, false));
                 } else {
+                    bool generated = false;
+                    QString onlyFileName = QFileInfo(fileName).fileName();
+                    if (   (onlyFileName.startsWith("moc_") && onlyFileName.endsWith(".cxx"))
+                        || (onlyFileName.startsWith("ui_") && onlyFileName.endsWith(".h"))
+                        || (onlyFileName.startsWith("qrc_") && onlyFileName.endsWith(".cxx")))
+                        generated = true;
+
                     if (fileName.endsWith(QLatin1String(".qrc")))
-                        m_fileList.append( new ProjectExplorer::FileNode(fileName, ProjectExplorer::ResourceType, false));
+                        m_fileList.append( new ProjectExplorer::FileNode(fileName, ProjectExplorer::ResourceType, generated));
                     else
-                        m_fileList.append( new ProjectExplorer::FileNode(fileName, ProjectExplorer::SourceType, false));
+                        m_fileList.append( new ProjectExplorer::FileNode(fileName, ProjectExplorer::SourceType, generated));
                 }
                 m_processedUnits.insert(fileName);
             }
-- 
GitLab