From 34b875e10747335f8eabb8797d0bc0db64fe49fd Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Tue, 5 Nov 2013 19:21:16 +0100 Subject: [PATCH] ios: avoid adding toolchains that we don't use in the kits Change-Id: Ic6f13dea277500fc9d3c3fb3b08069998d4b65ce Reviewed-by: Daniel Teske Reviewed-by: Fawzi Mohamed --- src/plugins/ios/iosconfigurations.cpp | 43 +++++++++++---------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index 8c33274cf10..8e87c78419b 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -81,6 +81,23 @@ void IosConfigurations::updateAutomaticKitList() break; } } + // filter out all non iphone, non base, non clang or cxx11 platforms, as we don't set up kits for those + { + QMap::iterator iter(platforms.begin()); + while (iter != platforms.end()) { + const Platform &p = iter.value(); + if (!p.name.startsWith(QLatin1String("iphone")) || (p.platformKind & Platform::BasePlatform) == 0 + || (p.platformKind & Platform::Cxx11Support) != 0 + || !p.compilerPath.toString().contains(QLatin1String("clang"))) + iter = platforms.erase(iter); + else { + if (debugProbe) + qDebug() << "keeping" << p.name << " " << p.compilerPath.toString() << " " + << p.backendFlags; + ++iter; + } + } + } QMap platformToolchainMap; // check existing toolchains (and remove old ones) @@ -135,10 +152,7 @@ void IosConfigurations::updateAutomaticKitList() while (iter.hasNext()) { iter.next(); const Platform &p = iter.value(); - if (platformToolchainMap.contains(p.name) - || (p.platformKind & Platform::BasePlatform) == 0 - || (p.name.startsWith(QLatin1String("iphone")) - && (p.platformKind & Platform::Cxx11Support) != 0)) + if (platformToolchainMap.contains(p.name)) continue; GccToolChain *toolchain; if (p.compilerPath.toFileInfo().baseName().startsWith(QLatin1String("clang"))) @@ -186,27 +200,6 @@ void IosConfigurations::updateAutomaticKitList() } } } - // filter out all non iphone, non base, non clang or cxx11 platforms, as we don't set up kits for those - { - QStringList toRemove; - QMapIterator iter(platforms); - while (iter.hasNext()) { - iter.next(); - const Platform &p = iter.value(); - if (!p.name.startsWith(QLatin1String("iphone")) || (p.platformKind & Platform::BasePlatform) == 0 - || (p.platformKind & Platform::Cxx11Support) != 0 - || !p.compilerPath.toString().contains(QLatin1String("clang"))) - toRemove.append(p.name); - else if (debugProbe) - qDebug() << "keeping" << p.name << " " << p.compilerPath.toString() << " " - << p.backendFlags; - } - foreach (const QString &pName, toRemove) { - if (debugProbe) - qDebug() << "filtering out " << pName; - platforms.remove(pName); - } - } QMap > qtVersionsForArch; foreach (BaseQtVersion *qtVersion, QtVersionManager::versions()) { if (debugProbe)