forked from qt-creator/qt-creator
CppTools: improved languages support in ProjectPart
Please, read blueprint here: http://qt-project.org/wiki/Blueprint-for-language-specs-system Removed feature from QbsProjectManager: it not longer splits project on separate C and C++ parts, because Qt version used only by clang parser (not native) and can be ignored for pure C and Objective-C without C++. Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -372,19 +372,20 @@ bool CMakeProject::parseCMakeLists()
|
||||
|| pinfo.defines() != allDefines
|
||||
|| pinfo.frameworkPaths() != allFrameworkPaths) {
|
||||
pinfo.clearProjectParts();
|
||||
CPlusPlus::CppModelManagerInterface::ProjectPart::Ptr part(
|
||||
new CPlusPlus::CppModelManagerInterface::ProjectPart);
|
||||
CPlusPlus::ProjectPart::Ptr part(new CPlusPlus::ProjectPart);
|
||||
part->includePaths = allIncludePaths;
|
||||
// TODO we only want C++ files, not all other stuff that might be in the project
|
||||
part->sourceFiles = m_files;
|
||||
CPlusPlus::ProjectFileAdder adder(part->files);
|
||||
foreach (const QString &file, m_files)
|
||||
adder.maybeAdd(file);
|
||||
part->defines = allDefines;
|
||||
part->frameworkPaths = allFrameworkPaths;
|
||||
part->cVersion = CPlusPlus::ProjectPart::C99;
|
||||
if (tc)
|
||||
part->language = tc->compilerFlags(cxxflags) == ToolChain::STD_CXX11
|
||||
? CPlusPlus::CppModelManagerInterface::ProjectPart::CXX11
|
||||
: CPlusPlus::CppModelManagerInterface::ProjectPart::CXX;
|
||||
part->cxxVersion = tc->compilerFlags(cxxflags) == ToolChain::STD_CXX11
|
||||
? CPlusPlus::ProjectPart::CXX11
|
||||
: CPlusPlus::ProjectPart::CXX98;
|
||||
else
|
||||
part->language = CPlusPlus::CppModelManagerInterface::ProjectPart::CXX11;
|
||||
part->cxxVersion = CPlusPlus::ProjectPart::CXX11;
|
||||
pinfo.appendProjectPart(part);
|
||||
modelmanager->updateProjectInfo(pinfo);
|
||||
m_codeModelFuture.cancel();
|
||||
|
Reference in New Issue
Block a user