From c3c57087416985f41629ff7cb146ce064350bfec Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Tue, 25 Feb 2020 12:27:23 +0200 Subject: [PATCH] Android: make sure old autodected toolchains are marked as autoDetected Some toolchains that were auto detected in previous sessions or version of Creator might re-appear as manual toolchains. Thus, make sure that's fixed. Also, make sure the name of old toolchains is updated with the current name format. Change-Id: I04d2145cb9c5e1e25e2bcbc21c014280bc355195 Reviewed-by: Alessandro Portale --- src/plugins/android/androidtoolchain.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index a9f5aeb2816..42ea48ee97c 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -228,8 +228,16 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(const ToolChai const Abi &abi = targetItr.value(); const QString target = targetItr.key(); ToolChain *tc = findToolChain(compilerCommand, lang, target, alreadyKnown); + + const QString displayName(QString("Android Clang (%1, %2, NDK %3)") + .arg(ToolChainManager::displayNameOfLanguageId(lang), + AndroidConfig::displayName(abi), + config.ndkVersion(qtVersion).toString())); if (tc) { qCDebug(androidTCLog) << "Tool chain already known" << abi.toString() << lang; + // make sure to update the toolchain with current name format + if (tc->displayName() != displayName) + tc->setDisplayName(displayName); } else { qCDebug(androidTCLog) << "New Clang toolchain found" << abi.toString() << lang; auto atc = new AndroidToolChain(); @@ -239,14 +247,11 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(const ToolChai atc->setTargetAbi(ClangTargets[target]); atc->setPlatformCodeGenFlags({"-target", target}); atc->setPlatformLinkerFlags({"-target", target}); - atc->setDetection(ToolChain::AutoDetection); - atc->setDisplayName(QString("Android Clang (%1, %2, NDK %3)") - .arg(ToolChainManager::displayNameOfLanguageId(lang), - AndroidConfig::displayName(abi), - config.ndkVersion(qtVersion).toString())); + atc->setDisplayName(displayName); atc->resetToolChain(compilerCommand); tc = atc; } + tc->setDetection(ToolChain::AutoDetection); result << tc; ++targetItr; }