forked from qt-creator/qt-creator
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 <alessandro.portale@qt.io>
This commit is contained in:
@@ -228,8 +228,16 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(const ToolChai
|
|||||||
const Abi &abi = targetItr.value();
|
const Abi &abi = targetItr.value();
|
||||||
const QString target = targetItr.key();
|
const QString target = targetItr.key();
|
||||||
ToolChain *tc = findToolChain(compilerCommand, lang, target, alreadyKnown);
|
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) {
|
if (tc) {
|
||||||
qCDebug(androidTCLog) << "Tool chain already known" << abi.toString() << lang;
|
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 {
|
} else {
|
||||||
qCDebug(androidTCLog) << "New Clang toolchain found" << abi.toString() << lang;
|
qCDebug(androidTCLog) << "New Clang toolchain found" << abi.toString() << lang;
|
||||||
auto atc = new AndroidToolChain();
|
auto atc = new AndroidToolChain();
|
||||||
@@ -239,14 +247,11 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(const ToolChai
|
|||||||
atc->setTargetAbi(ClangTargets[target]);
|
atc->setTargetAbi(ClangTargets[target]);
|
||||||
atc->setPlatformCodeGenFlags({"-target", target});
|
atc->setPlatformCodeGenFlags({"-target", target});
|
||||||
atc->setPlatformLinkerFlags({"-target", target});
|
atc->setPlatformLinkerFlags({"-target", target});
|
||||||
atc->setDetection(ToolChain::AutoDetection);
|
atc->setDisplayName(displayName);
|
||||||
atc->setDisplayName(QString("Android Clang (%1, %2, NDK %3)")
|
|
||||||
.arg(ToolChainManager::displayNameOfLanguageId(lang),
|
|
||||||
AndroidConfig::displayName(abi),
|
|
||||||
config.ndkVersion(qtVersion).toString()));
|
|
||||||
atc->resetToolChain(compilerCommand);
|
atc->resetToolChain(compilerCommand);
|
||||||
tc = atc;
|
tc = atc;
|
||||||
}
|
}
|
||||||
|
tc->setDetection(ToolChain::AutoDetection);
|
||||||
result << tc;
|
result << tc;
|
||||||
++targetItr;
|
++targetItr;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user