diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-10-28 12:29:23 +0100 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@theqtcompany.com> | 2014-11-07 10:27:17 +0100 |
commit | 33359a7922e8bb89f47f41a768350a084fc23bcb (patch) | |
tree | 6d261186bda577d7ee8f431fbc8eb0832196f4f6 /src/plugins/cpptools/cppprojects.cpp | |
parent | bb4a58304d8ce04ea2d8c871b9a164cebbd462ba (diff) | |
download | qt-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.cpp | 41 |
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 { |