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.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp
index 8164009bf1..26a133824a 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.cpp
+++ b/src/plugins/cpptools/compileroptionsbuilder.cpp
@@ -52,6 +52,7 @@ QStringList CompilerOptionsBuilder::build(CppTools::ProjectFile::Kind fileKind,
addWordWidth();
addTargetTriple();
+ addExtraCodeModelFlags();
addLanguageOption(fileKind);
addOptionsForLanguage(/*checkForBorlandExtensions*/ true);
enableExceptions();
@@ -104,6 +105,14 @@ void CompilerOptionsBuilder::addTargetTriple()
}
}
+void CompilerOptionsBuilder::addExtraCodeModelFlags()
+{
+ // extraCodeModelFlags keep build architecture for cross-compilation.
+ // In case of iOS build target triple has aarch64 archtecture set which makes
+ // code model fail with CXError_Failure. To fix that we explicitly provide architecture.
+ m_options.append(m_projectPart.extraCodeModelFlags);
+}
+
void CompilerOptionsBuilder::enableExceptions()
{
add(QLatin1String("-fcxx-exceptions"));