forked from qt-creator/qt-creator
ToolChainKitInformation: Remove setToolChain(kit, language, toolchain)
Replace that with clearToolChain(kit, languguage). The only use-case for that method was to unset toolchains in a kit. Change-Id: I8cffe39393281f424fa8e044e6b90c5cea17ac90 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -186,8 +186,15 @@ static void setupKit(Kit *kit, Core::Id pDeviceType, const ToolChainPair& toolCh
|
|||||||
const QVariant &debuggerId, const Utils::FileName &sdkPath, BaseQtVersion *qtVersion)
|
const QVariant &debuggerId, const Utils::FileName &sdkPath, BaseQtVersion *qtVersion)
|
||||||
{
|
{
|
||||||
DeviceTypeKitInformation::setDeviceTypeId(kit, pDeviceType);
|
DeviceTypeKitInformation::setDeviceTypeId(kit, pDeviceType);
|
||||||
ToolChainKitInformation::setToolChain(kit, ToolChain::Language::C, toolChains.first);
|
if (toolChains.first)
|
||||||
ToolChainKitInformation::setToolChain(kit, ToolChain::Language::Cxx, toolChains.second);
|
ToolChainKitInformation::setToolChain(kit, toolChains.first);
|
||||||
|
else
|
||||||
|
ToolChainKitInformation::clearToolChain(kit, ToolChain::Language::C);
|
||||||
|
if (toolChains.second)
|
||||||
|
ToolChainKitInformation::setToolChain(kit, toolChains.second);
|
||||||
|
else
|
||||||
|
ToolChainKitInformation::clearToolChain(kit, ToolChain::Language::Cxx);
|
||||||
|
|
||||||
QtKitInformation::setQtVersion(kit, qtVersion);
|
QtKitInformation::setQtVersion(kit, qtVersion);
|
||||||
// only replace debugger with the default one if we find an unusable one here
|
// only replace debugger with the default one if we find an unusable one here
|
||||||
// (since the user could have changed it)
|
// (since the user could have changed it)
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ void ToolChainKitInformation::fix(Kit *k)
|
|||||||
if (!toolChain(k, l)) {
|
if (!toolChain(k, l)) {
|
||||||
qWarning("No tool chain set from kit \"%s\".",
|
qWarning("No tool chain set from kit \"%s\".",
|
||||||
qPrintable(k->displayName()));
|
qPrintable(k->displayName()));
|
||||||
setToolChain(k, l, nullptr); // make sure to clear out no longer known tool chains
|
clearToolChain(k, l); // make sure to clear out no longer known tool chains
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -256,7 +256,10 @@ void ToolChainKitInformation::setup(Kit *k)
|
|||||||
tc = Utils::findOrDefault(knownTcs, [abi, l](ToolChain *t) {
|
tc = Utils::findOrDefault(knownTcs, [abi, l](ToolChain *t) {
|
||||||
return t->targetAbi().toString() == abi && t->language() == l;
|
return t->targetAbi().toString() == abi && t->language() == l;
|
||||||
});
|
});
|
||||||
setToolChain(k, l, tc);
|
if (tc)
|
||||||
|
setToolChain(k, tc);
|
||||||
|
else
|
||||||
|
clearToolChain(k, l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -355,16 +358,17 @@ QList<ToolChain *> ToolChainKitInformation::toolChains(const Kit *k)
|
|||||||
void ToolChainKitInformation::setToolChain(Kit *k, ToolChain *tc)
|
void ToolChainKitInformation::setToolChain(Kit *k, ToolChain *tc)
|
||||||
{
|
{
|
||||||
QTC_ASSERT(tc, return);
|
QTC_ASSERT(tc, return);
|
||||||
setToolChain(k, tc->language(), tc);
|
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap();
|
||||||
|
result.insert(ToolChain::languageId(tc->language()), tc->id());
|
||||||
|
k->setValue(id(), result);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolChainKitInformation::setToolChain(Kit *k, ToolChain::Language l, ToolChain *tc)
|
void ToolChainKitInformation::clearToolChain(Kit *k, ToolChain::Language l)
|
||||||
{
|
{
|
||||||
if (l == ToolChain::Language::None)
|
QTC_ASSERT(l != ToolChain::Language::None, return);
|
||||||
return;
|
|
||||||
|
|
||||||
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap();
|
QVariantMap result = k->value(ToolChainKitInformation::id()).toMap();
|
||||||
result.insert(ToolChain::languageId(l), tc ? tc->id() : QByteArray());
|
result.insert(ToolChain::languageId(l), QByteArray());
|
||||||
k->setValue(id(), result);
|
k->setValue(id(), result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public:
|
|||||||
static ToolChain *toolChain(const Kit *k, ToolChain::Language l);
|
static ToolChain *toolChain(const Kit *k, ToolChain::Language l);
|
||||||
static QList<ToolChain *> toolChains(const Kit *k);
|
static QList<ToolChain *> toolChains(const Kit *k);
|
||||||
static void setToolChain(Kit *k, ToolChain *tc);
|
static void setToolChain(Kit *k, ToolChain *tc);
|
||||||
static void setToolChain(Kit *k, ToolChain::Language l, ToolChain *tc);
|
static void clearToolChain(Kit *k, ToolChain::Language l);
|
||||||
static Abi targetAbi(const Kit *k);
|
static Abi targetAbi(const Kit *k);
|
||||||
|
|
||||||
static QString msgNoToolChainInTarget();
|
static QString msgNoToolChainInTarget();
|
||||||
|
|||||||
@@ -236,7 +236,12 @@ void ToolChainInformationConfigWidget::currentToolChainChanged(ToolChain::Langua
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
const QByteArray id = m_languageComboboxMap.value(l)->itemData(idx).toByteArray();
|
const QByteArray id = m_languageComboboxMap.value(l)->itemData(idx).toByteArray();
|
||||||
ToolChainKitInformation::setToolChain(m_kit, l, ToolChainManager::findToolChain(id));
|
ToolChain *tc = ToolChainManager::findToolChain(id);
|
||||||
|
QTC_ASSERT(!tc || tc->language() == l, return);
|
||||||
|
if (tc)
|
||||||
|
ToolChainKitInformation::setToolChain(m_kit, tc);
|
||||||
|
else
|
||||||
|
ToolChainKitInformation::clearToolChain(m_kit, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ToolChainInformationConfigWidget::indexOf(QComboBox *cb, const ToolChain *tc)
|
int ToolChainInformationConfigWidget::indexOf(QComboBox *cb, const ToolChain *tc)
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ Kit *QnxConfiguration::createKit(QnxArchitecture arch,
|
|||||||
|
|
||||||
QtKitInformation::setQtVersion(kit, qnxQt);
|
QtKitInformation::setQtVersion(kit, qnxQt);
|
||||||
ToolChainKitInformation::setToolChain(kit, toolChain);
|
ToolChainKitInformation::setToolChain(kit, toolChain);
|
||||||
ToolChainKitInformation::setToolChain(kit, ToolChain::Language::C, nullptr);
|
ToolChainKitInformation::clearToolChain(kit, ToolChain::Language::C);
|
||||||
|
|
||||||
if (debuggerItemId.isValid())
|
if (debuggerItemId.isValid())
|
||||||
DebuggerKitInformation::setDebugger(kit, debuggerItemId);
|
DebuggerKitInformation::setDebugger(kit, debuggerItemId);
|
||||||
|
|||||||
Reference in New Issue
Block a user