forked from qt-creator/qt-creator
Supply c++11 flags and per-project info to c++ code model.
A manual squash/merge of the changes below, plus a couple of subsequent
code fixes.
59085aa5fbb99e2d786cd2c1a06c24a111ccb49f:
Modify CppModel::ProjectInfo
Adding per project node information, to pass on the correct
defines/includes for each file, instead of aggregating them incorrectly.
Also split up SOURCES and OBJECTIVE_SOURCES.
Also ask the toolchain to convert the compilerflags to flags the
codemodel understands, for now only gcc and only c++11.
Also make the toolchain aware of the flags used to compile, so that it
can emit the correct defines.
Note: No header files are passed on.
74028802314cd4e75b41b46407433e07090a304d:
GCC: Evaluate cxxflags when checking for predefined macros
ebaaa4957e4c02cc9637a998eddae1d0acd74f83:
MSVC: Take cxxflags into account when checking for predefined macros
9bfce7e889bcf7bcc47bf880e3ea25945ca7d0d7:
Compile fixes
Change-Id: I9de94ad038dfc5dc1987732e84b13fb4419c96f5
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
This commit is contained in:
@@ -1863,15 +1863,19 @@ public:
|
||||
QList<CppModelManagerInterface::ProjectInfo> projectInfos = modelManager->projectInfos();
|
||||
bool inProject = false;
|
||||
foreach (const CppModelManagerInterface::ProjectInfo &info, projectInfos) {
|
||||
if (info.sourceFiles.contains(doc->fileName())) {
|
||||
inProject = true;
|
||||
includePaths += info.includePaths;
|
||||
foreach (CppModelManagerInterface::ProjectPart::Ptr part, info.projectParts()) {
|
||||
if (part->sourceFiles.contains(doc->fileName())) {
|
||||
inProject = true;
|
||||
includePaths += part->includePaths;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!inProject) {
|
||||
// better use all include paths than none
|
||||
foreach (const CppModelManagerInterface::ProjectInfo &info, projectInfos)
|
||||
includePaths += info.includePaths;
|
||||
foreach (const CppModelManagerInterface::ProjectInfo &info, projectInfos) {
|
||||
foreach (CppModelManagerInterface::ProjectPart::Ptr part, info.projectParts())
|
||||
includePaths += part->includePaths;
|
||||
}
|
||||
}
|
||||
|
||||
// find a include file through the locator
|
||||
|
||||
Reference in New Issue
Block a user