ToolChain::ToolChain(const ToolChain &other) : d(new Internal::ToolChainPrivate(other.d->m_id, false)) { // leave the autodetection bit at false. d->m_displayName = QCoreApplication::translate("ProjectExplorer::ToolChain", "Clone of %1") .arg(other.displayName()); }
QList<Task> BaseQtVersion::validateKit(const Kit *k) { QList<Task> result; BaseQtVersion *version = QtKitInformation::qtVersion(k); Q_ASSERT(version == this); const QList<Abi> qtAbis = version->qtAbis(); if (qtAbis.isEmpty()) // No need to test if Qt does not know anyway... return result; ToolChain *tc = ToolChainKitInformation::toolChain(k); if (tc) { Abi targetAbi = tc->targetAbi(); bool fuzzyMatch = false; bool fullMatch = false; QString qtAbiString; foreach (const Abi &qtAbi, qtAbis) { if (!qtAbiString.isEmpty()) qtAbiString.append(QLatin1Char(' ')); qtAbiString.append(qtAbi.toString()); if (!fullMatch) fullMatch = (targetAbi == qtAbi); if (!fuzzyMatch) fuzzyMatch = targetAbi.isCompatibleWith(qtAbi); } QString message; if (!fullMatch) { if (!fuzzyMatch) message = QCoreApplication::translate("BaseQtVersion", "The compiler '%1' (%2) cannot produce code for the Qt version '%3' (%4)."); else message = QCoreApplication::translate("BaseQtVersion", "The compiler '%1' (%2) may not produce code compatible with the Qt version '%3' (%4)."); message = message.arg(tc->displayName(), targetAbi.toString(), version->displayName(), qtAbiString); result << Task(fuzzyMatch ? Task::Warning : Task::Error, message, FileName(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM); } } return result; }
KitInformation::ItemList ToolChainKitInformation::toUserOutput(Kit *k) const { ToolChain *tc = toolChain(k); return ItemList() << qMakePair(tr("Compiler"), tc ? tc->displayName() : tr("None")); }
QString ToolChainKitInformation::displayNamePostfix(const Kit *k) const { ToolChain *tc = toolChain(k); return tc ? tc->displayName() : QString(); }