summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.cpp27
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