QMakeProjectManager: Support QMAKE_EXTRA_COMPILERS

Task-number: QTCREATORBUG-11212
Change-Id: I84358d6c2e9cb76eb72c8f85c6f7fedd2c4cfb0f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Daniel Teske
2014-01-24 15:16:06 +01:00
parent 70cecb52a4
commit 284fdb2efd
2 changed files with 13 additions and 7 deletions

View File

@@ -640,7 +640,7 @@ void QmakePriFileNode::update(ProFile *includeFileExact, QtSupport::ProFileReade
QFileInfo tmpFi;
for (int i = 0; i < fileTypes.size(); ++i) {
FileType type = fileTypes.at(i).type;
QStringList qmakeVariables = varNames(type);
QStringList qmakeVariables = varNames(type, readerExact);
QSet<Utils::FileName> newFilePaths;
foreach (const QString &qmakeVariable, qmakeVariables) {
@@ -1238,7 +1238,7 @@ void QmakePriFileNode::save(const QStringList &lines)
errorStrings.join(QLatin1String("\n")));
}
QStringList QmakePriFileNode::varNames(ProjectExplorer::FileType type)
QStringList QmakePriFileNode::varNames(ProjectExplorer::FileType type, QtSupport::ProFileReader *readerExact)
{
QStringList vars;
switch (type) {
@@ -1247,12 +1247,18 @@ QStringList QmakePriFileNode::varNames(ProjectExplorer::FileType type)
vars << QLatin1String("OBJECTIVE_HEADERS");
vars << QLatin1String("PRECOMPILED_HEADER");
break;
case ProjectExplorer::SourceType:
case ProjectExplorer::SourceType: {
vars << QLatin1String("SOURCES");
vars << QLatin1String("OBJECTIVE_SOURCES");
vars << QLatin1String("LEXSOURCES");
vars << QLatin1String("YACCSOURCES");
QStringList listOfExtraCompilers = readerExact->values(QLatin1String("QMAKE_EXTRA_COMPILERS"));
foreach (const QString &var, listOfExtraCompilers) {
QStringList inputs = readerExact->values(var + QLatin1String(".input"));
foreach (const QString &input, inputs)
// FORMS and RESOURCES are handled below
if (input != QLatin1String("FORMS") && input != QLatin1String("RESOURCES"))
vars << input;
}
break;
}
case ProjectExplorer::ResourceType:
vars << QLatin1String("RESOURCES");
break;