diff options
author | Denis Klychkov <kd.snake@gmail.com> | 2016-11-02 12:21:54 +0300 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2016-11-16 09:10:14 +0000 |
commit | 36d4d01cd374a21a8b7c229b261c5f1a23d1184e (patch) | |
tree | ebb2fb9b760253b0c315918db8fd4fcf3c29e6bd /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | 569f4499c038f4186d511d15d2b626d57b57fcd1 (diff) | |
download | qt-creator-36d4d01cd374a21a8b7c229b261c5f1a23d1184e.tar.gz |
Clang: Take precompiled headers into account when parsing source files
Task-number: QTCREATORBUG-15590
Change-Id: Icbfce4ffd6e9f9802641d35d898fa1dc1c4c18ee
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 01378ec88e..d99692536d 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -112,7 +112,7 @@ void CompilerOptionsBuilder::enableExceptions() void CompilerOptionsBuilder::addHeaderPathOptions() { typedef ProjectPartHeaderPath HeaderPath; - const QString defaultPrefix = includeOption(); + const QString defaultPrefix = includeDirOption(); QStringList result; @@ -141,6 +141,24 @@ void CompilerOptionsBuilder::addHeaderPathOptions() m_options.append(result); } +void CompilerOptionsBuilder::addPrecompiledHeaderOptions(PchUsage pchUsage) +{ + if (pchUsage == PchUsage::None) + return; + + QStringList result; + + const QString includeOptionString = includeOption(); + foreach (const QString &pchFile, m_projectPart.precompiledHeaders) { + if (QFile::exists(pchFile)) { + result += includeOptionString; + result += QDir::toNativeSeparators(pchFile); + } + } + + m_options.append(result); +} + void CompilerOptionsBuilder::addToolchainAndProjectDefines() { addDefines(m_projectPart.toolchainDefines); @@ -376,7 +394,7 @@ void CompilerOptionsBuilder::addDefineFloat128ForMingw() addDefine("#define __float128 void"); } -QString CompilerOptionsBuilder::includeOption() const +QString CompilerOptionsBuilder::includeDirOption() const { return QLatin1String("-I"); } @@ -399,6 +417,11 @@ QString CompilerOptionsBuilder::undefineOption() const return QLatin1String("-U"); } +QString CompilerOptionsBuilder::includeOption() const +{ + return QLatin1String("-include"); +} + static bool isGccOrMinGwToolchain(const Core::Id &toolchainType) { return toolchainType == ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID |