summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppprojects.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2014-10-28 12:29:23 +0100
committerFawzi Mohamed <fawzi.mohamed@theqtcompany.com>2014-11-07 10:27:17 +0100
commit33359a7922e8bb89f47f41a768350a084fc23bcb (patch)
tree6d261186bda577d7ee8f431fbc8eb0832196f4f6 /src/plugins/cpptools/cppprojects.cpp
parentbb4a58304d8ce04ea2d8c871b9a164cebbd462ba (diff)
downloadqt-creator-33359a7922e8bb89f47f41a768350a084fc23bcb.tar.gz
CppTools: Add API to set/query compiler call data
...and make some comparison functions public. Change-Id: If4c9a95031dece32073ce111484a890230190688 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
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
{