diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-02-05 16:44:35 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-02-27 15:58:17 +0100 |
commit | 346e84d219448bb583dbc4ad71a2850db30e1cc8 (patch) | |
tree | d0090198a6aa61c33e6c05226916658a04cfc2bc /src/plugins/cpptools/cppmodelmanagerinterface.cpp | |
parent | 36dccb42faf256756d94b4ad797bfb40bb449f07 (diff) | |
download | qt-creator-346e84d219448bb583dbc4ad71a2850db30e1cc8.tar.gz |
C++: introduce a project config file field in the projectPart.
This field is used by the generic project manager which passes the
".config" file in it. The advantage is that both the SnapshotUpdater and
the clang code model do not need to do anything smart, but can pass it
directly to the preprocessor.
Task-number: QTCREATORBUG-11390
Change-Id: I44fc7b20afd28fb59608412f2cce86af6f7e7d6b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagerinterface.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanagerinterface.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.cpp b/src/plugins/cpptools/cppmodelmanagerinterface.cpp index 0f65f16225..5b31d4a2a2 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.cpp +++ b/src/plugins/cpptools/cppmodelmanagerinterface.cpp @@ -223,4 +223,24 @@ void CppModelManagerInterface::ProjectInfo::appendProjectPart(const ProjectPart: m_defines.append('\n'); m_defines.append(part->toolchainDefines); m_defines.append(part->projectDefines); + if (!part->projectConfigFile.isEmpty()) { + m_defines.append('\n'); + m_defines += readProjectConfigFile(part); + m_defines.append('\n'); + } +} + +QByteArray CppModelManagerInterface::readProjectConfigFile(const ProjectPart::Ptr &part) +{ + QByteArray result; + + QFile f(part->projectConfigFile); + if (f.open(QIODevice::ReadOnly)) { + QTextStream is(&f); + result = is.readAll().toUtf8(); + f.close(); + } + + return result; } + |