Android: De-noise toolchain detection a bit

Change-Id: Iab68004fd6310b5658bd9c3c1e23a761e3414ead
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2022-01-18 17:38:31 +01:00
parent 248b6d843e
commit d8e2a3fd45

View File

@@ -1191,12 +1191,13 @@ static bool matchToolChain(const ToolChain *atc, const ToolChain *btc)
void AndroidConfigurations::registerNewToolChains() void AndroidConfigurations::registerNewToolChains()
{ {
const QList<ToolChain *> existingAndroidToolChains const Toolchains existingAndroidToolChains
= ToolChainManager::toolChains(Utils::equal(&ToolChain::typeId, Id(Constants::ANDROID_TOOLCHAIN_TYPEID))); = ToolChainManager::toolChains(Utils::equal(&ToolChain::typeId, Id(Constants::ANDROID_TOOLCHAIN_TYPEID)));
QList<ToolChain *> newToolchains = AndroidToolChainFactory::autodetectToolChains(
const Toolchains newToolchains = AndroidToolChainFactory::autodetectToolChains(
existingAndroidToolChains); existingAndroidToolChains);
foreach (ToolChain *tc, newToolchains) for (ToolChain *tc : newToolchains)
ToolChainManager::registerToolChain(tc); ToolChainManager::registerToolChain(tc);
registerCustomToolChainsAndDebuggers(); registerCustomToolChainsAndDebuggers();
@@ -1351,11 +1352,12 @@ static QVariant findOrRegisterDebugger(ToolChain *tc,
void AndroidConfigurations::registerCustomToolChainsAndDebuggers() void AndroidConfigurations::registerCustomToolChainsAndDebuggers()
{ {
const QList<ToolChain *> existingAndroidToolChains = ToolChainManager::toolChains( const Toolchains existingAndroidToolChains = ToolChainManager::toolChains(
Utils::equal(&ToolChain::typeId, Utils::Id(Constants::ANDROID_TOOLCHAIN_TYPEID))); Utils::equal(&ToolChain::typeId, Utils::Id(Constants::ANDROID_TOOLCHAIN_TYPEID)));
QList<FilePath> customNdks = Utils::transform(currentConfig().getCustomNdkList(),
const FilePaths customNdks = Utils::transform(currentConfig().getCustomNdkList(),
FilePath::fromString); FilePath::fromString);
QList<ToolChain *> customToolchains const Toolchains customToolchains
= AndroidToolChainFactory::autodetectToolChainsFromNdks(existingAndroidToolChains, = AndroidToolChainFactory::autodetectToolChainsFromNdks(existingAndroidToolChains,
customNdks, customNdks,
true); true);
@@ -1404,7 +1406,7 @@ void AndroidConfigurations::updateAutomaticKitList()
} }
// register new kits // register new kits
const QList<ToolChain *> toolchains = ToolChainManager::toolChains([](const ToolChain *tc) { const Toolchains toolchains = ToolChainManager::toolChains([](const ToolChain *tc) {
return tc->isAutoDetected() return tc->isAutoDetected()
&& tc->isValid() && tc->isValid()
&& tc->typeId() == Constants::ANDROID_TOOLCHAIN_TYPEID; && tc->typeId() == Constants::ANDROID_TOOLCHAIN_TYPEID;
@@ -1419,7 +1421,7 @@ void AndroidConfigurations::updateAutomaticKitList()
if (tcNdk != currentConfig().ndkLocation(qt)) if (tcNdk != currentConfig().ndkLocation(qt))
continue; continue;
const QList<ToolChain *> allLanguages const Toolchains allLanguages
= Utils::filtered(toolchains, [tc, tcNdk](ToolChain *otherTc) { = Utils::filtered(toolchains, [tc, tcNdk](ToolChain *otherTc) {
FilePath otherNdk = static_cast<const AndroidToolChain *>(otherTc)->ndkLocation(); FilePath otherNdk = static_cast<const AndroidToolChain *>(otherTc)->ndkLocation();
return tc->targetAbi() == otherTc->targetAbi() && tcNdk == otherNdk; return tc->targetAbi() == otherTc->targetAbi() && tcNdk == otherNdk;