aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qt4projectmanager/qt4project.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/qt4projectmanager/qt4project.cpp
parent0c417bbb8e6c34e2dbc594dca70f607dd3dc5c82 (diff)
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/qt4projectmanager/qt4project.cpp')
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 1618d46cb0..4aaeec3a37 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -491,7 +491,8 @@ void Qt4Project::updateCodeModels()
void Qt4Project::updateCppCodeModel()
{
- typedef CPlusPlus::CppModelManagerInterface::ProjectPart ProjectPart;
+ typedef CPlusPlus::ProjectPart ProjectPart;
+ typedef CPlusPlus::ProjectFile ProjectFile;
Kit *k = 0;
QtSupport::BaseQtVersion *qtVersion = 0;
@@ -567,20 +568,31 @@ void Qt4Project::updateCppCodeModel()
// part->language
if (tc)
- part->language = tc->compilerFlags(cxxflags) == ToolChain::STD_CXX11 ? ProjectPart::CXX11 : ProjectPart::CXX;
+ part->cxxVersion = (tc->compilerFlags(cxxflags) == ToolChain::STD_CXX11)
+ ? ProjectPart::CXX11 : ProjectPart::CXX98;
else
- part->language = CPlusPlus::CppModelManagerInterface::ProjectPart::CXX11;
+ part->cxxVersion = ProjectPart::CXX11;
- part->sourceFiles = pro->variableValue(CppSourceVar);
- part->headerFiles += pro->variableValue(CppHeaderVar);
- part->headerFiles += pro->uiFiles();
- part->sourceFiles.prepend(CPlusPlus::CppModelManagerInterface::configurationFileName());
- part->objcSourceFiles = pro->variableValue(ObjCSourceVar);
- pinfo.appendProjectPart(part);
+ foreach (const QString &file, pro->variableValue(CppSourceVar)) {
+ allFiles << file;
+ part->files << ProjectFile(file, ProjectFile::CXXSource);
+ }
+ foreach (const QString &file, pro->variableValue(CppHeaderVar)) {
+ allFiles << file;
+ part->files << ProjectFile(file, ProjectFile::CXXHeader);
+ }
+ foreach (const QString &file, pro->uiFiles()) {
+ allFiles << file;
+ part->files << ProjectFile(file, ProjectFile::CXXHeader);
+ }
- allFiles += part->headerFiles;
- allFiles += part->sourceFiles;
- allFiles += part->objcSourceFiles;
+ part->files.prepend(ProjectFile(CPlusPlus::CppModelManagerInterface::configurationFileName(),
+ ProjectFile::CXXSource));
+ foreach (const QString &file, pro->variableValue(ObjCSourceVar)) {
+ allFiles << file;
+ part->files << ProjectFile(file, ProjectFile::ObjCSource);
+ }
+ pinfo.appendProjectPart(part);
}
modelmanager->updateProjectInfo(pinfo);