diff options
Diffstat (limited to 'src/plugins/cpptools/cppprojects.cpp')
-rw-r--r-- | src/plugins/cpptools/cppprojects.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/plugins/cpptools/cppprojects.cpp b/src/plugins/cpptools/cppprojects.cpp index 2e35d4a178..ff7a636b2a 100644 --- a/src/plugins/cpptools/cppprojects.cpp +++ b/src/plugins/cpptools/cppprojects.cpp @@ -37,6 +37,8 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> +#include <utils/qtcassert.h> + #include <QSet> #include <QTextStream> @@ -457,12 +459,16 @@ void ProjectPartBuilder::createProjectPart(const QStringList &theSources, CppTools::ProjectPart::Ptr part(m_templatePart->copy()); part->displayName = partName; - Kit *k = part->project->activeTarget()->kit(); - if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) - part->evaluateToolchain(tc, - languageVersion >= ProjectPart::CXX98 ? m_cxxFlags - : m_cFlags, - SysRootKitInformation::sysRoot(k)); + QTC_ASSERT(part->project, return); + if (ProjectExplorer::Target *activeTarget = part->project->activeTarget()) { + if (Kit *kit = activeTarget->kit()) { + if (ToolChain *toolChain = ToolChainKitInformation::toolChain(kit)) { + const QStringList flags = languageVersion >= ProjectPart::CXX98 ? m_cxxFlags + : m_cFlags; + part->evaluateToolchain(toolChain, flags, SysRootKitInformation::sysRoot(kit)); + } + } + } part->languageExtensions |= languageExtensions; |