Commit 9891267a authored by dt's avatar dt

This ordering for include directories is more correct

Though likely to be still wrong.
parent c5427147
......@@ -546,6 +546,8 @@ void Qt4Project::updateCodeModel()
if (debug)
qDebug()<<"Qt4Project::updateCodeModel()";
// TODO figure out the correct ordering of #include directories
CppTools::CppModelManagerInterface *modelmanager =
ExtensionSystem::PluginManager::instance()
->getObject<CppTools::CppModelManagerInterface>();
......@@ -580,7 +582,7 @@ void Qt4Project::updateCodeModel()
const QString newQtIncludePath = versionInfo.value(QLatin1String("QT_INSTALL_HEADERS"));
const QString newQtLibsPath = versionInfo.value(QLatin1String("QT_INSTALL_LIBS"));
predefinedIncludePaths.append(newQtIncludePath);
predefinedIncludePaths.prepend(newQtIncludePath);
QDir dir(newQtIncludePath);
foreach (QFileInfo info, dir.entryInfoList(QDir::Dirs)) {
const QString path = info.fileName();
......@@ -588,7 +590,7 @@ void Qt4Project::updateCodeModel()
if (path == QLatin1String("Qt"))
continue; // skip $QT_INSTALL_HEADERS/Qt. There's no need to include it.
else if (path.startsWith(QLatin1String("Qt")) || path == QLatin1String("phonon"))
predefinedIncludePaths.append(info.absoluteFilePath());
predefinedIncludePaths.prepend(info.absoluteFilePath());
}
FindQt4ProFiles findQt4ProFiles;
......@@ -598,13 +600,13 @@ void Qt4Project::updateCodeModel()
QStringList allFrameworkPaths = predefinedFrameworkPaths;
#ifdef Q_OS_MAC
allFrameworkPaths.append(newQtLibsPath);
allFrameworkPaths.prepend(newQtLibsPath);
// put QtXXX.framework/Headers directories in include path since that qmake's behavior
QDir frameworkDir(newQtLibsPath);
foreach (QFileInfo info, frameworkDir.entryInfoList(QDir::Dirs)) {
if (! info.fileName().startsWith(QLatin1String("Qt")))
continue;
allIncludePaths.append(info.absoluteFilePath()+"/Headers");
allIncludePaths.prepend(info.absoluteFilePath()+"/Headers");
}
#endif
......@@ -641,9 +643,9 @@ void Qt4Project::updateCodeModel()
const QStringList proIncludePaths = pro->variableValue(IncludePathVar);
foreach (const QString &includePath, proIncludePaths) {
if (!allIncludePaths.contains(includePath))
allIncludePaths.append(includePath);
allIncludePaths.prepend(includePath);
if (!info.includes.contains(includePath))
info.includes.append(includePath);
info.includes.prepend(includePath);
}
{ // Pkg Config support
......@@ -655,13 +657,13 @@ void Qt4Project::updateCodeModel()
process.waitForFinished();
QString result = process.readAllStandardOutput();
foreach(const QString &part, result.trimmed().split(' ', QString::SkipEmptyParts)) {
info.includes.append(part.mid(2)); // Chop off "-I"
info.includes.prepend(part.mid(2)); // Chop off "-I"
}
}
}
// Add mkspec directory
info.includes.append(qtVersion(activeBuildConfiguration())->mkspecPath());
info.includes.prepend(qtVersion(activeBuildConfiguration())->mkspecPath());
info.frameworkPaths = allFrameworkPaths;
......@@ -675,7 +677,7 @@ void Qt4Project::updateCodeModel()
}
// Add mkspec directory
allIncludePaths.append(qtVersion(activeBuildConfiguration())->mkspecPath());
allIncludePaths.prepend(qtVersion(activeBuildConfiguration())->mkspecPath());
// Dump things out
// This is debugging output...
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment