summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager/cmakeproject.cpp
diff options
context:
space:
mode:
authorSergey Shambir <sergey.shambir.auto@gmail.com>2013-03-04 01:30:46 +0400
committerSergey Shambir <sergey.shambir.auto@gmail.com>2013-03-21 17:22:18 +0100
commit63fe568b9b36de9a3ddd72da45ef193d7471224f (patch)
treeb380436f34355a263d841c1190d4750f6c2de970 /src/plugins/cmakeprojectmanager/cmakeproject.cpp
parent0c417bbb8e6c34e2dbc594dca70f607dd3dc5c82 (diff)
downloadqt-creator-63fe568b9b36de9a3ddd72da45ef193d7471224f.tar.gz
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>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeproject.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index fa1d2ce7aa..e5d27e269f 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -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();