summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppprojects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppprojects.cpp')
-rw-r--r--src/plugins/cpptools/cppprojects.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppprojects.cpp b/src/plugins/cpptools/cppprojects.cpp
index 4aab008f28..710a387f3a 100644
--- a/src/plugins/cpptools/cppprojects.cpp
+++ b/src/plugins/cpptools/cppprojects.cpp
@@ -137,6 +137,36 @@ ProjectInfo::ProjectInfo(QPointer<ProjectExplorer::Project> project)
: m_project(project)
{}
+bool ProjectInfo::operator ==(const ProjectInfo &other) const
+{
+ return m_project == other.m_project
+ && m_projectParts == other.m_projectParts
+ && m_compilerCallData == other.m_compilerCallData
+ && m_headerPaths == other.m_headerPaths
+ && m_sourceFiles == other.m_sourceFiles
+ && m_defines == other.m_defines;
+}
+
+bool ProjectInfo::operator !=(const ProjectInfo &other) const
+{
+ return !operator ==(other);
+}
+
+bool ProjectInfo::definesChanged(const ProjectInfo &other) const
+{
+ return m_defines != other.m_defines;
+}
+
+bool ProjectInfo::configurationChanged(const ProjectInfo &other) const
+{
+ return definesChanged(other) || m_headerPaths != other.m_headerPaths;
+}
+
+bool ProjectInfo::configurationOrFilesChanged(const ProjectInfo &other) const
+{
+ return configurationChanged(other) || m_sourceFiles != other.m_sourceFiles;
+}
+
bool ProjectInfo::isValid() const
{
return !m_project.isNull();
@@ -193,6 +223,7 @@ void ProjectInfo::clearProjectParts()
m_headerPaths.clear();
m_sourceFiles.clear();
m_defines.clear();
+ m_compilerCallData.clear();
}
const ProjectPart::HeaderPaths ProjectInfo::headerPaths() const
@@ -210,6 +241,16 @@ const QByteArray ProjectInfo::defines() const
return m_defines;
}
+void ProjectInfo::setCompilerCallData(const CompilerCallData &data)
+{
+ m_compilerCallData = data;
+}
+
+ProjectInfo::CompilerCallData ProjectInfo::compilerCallData() const
+{
+ return m_compilerCallData;
+}
+
namespace {
class ProjectFileCategorizer
{