forked from qt-creator/qt-creator
ProjectExplorer: Introduce ToolChainKitAspect::{c,cxx}ToolChain
Special accessors to the repeatedly used C and C++ cases to denoise and slim down user code. Plus some code cosmetics nearby. Change-Id: Iba4662bd4731d8c4256e658529f39d5c995691ce Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -52,6 +52,8 @@
|
||||
#include <QRegularExpression>
|
||||
#include <QSettings>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
namespace QbsProjectManager {
|
||||
using namespace Constants;
|
||||
|
||||
@@ -253,27 +255,24 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
||||
{
|
||||
QVariantMap data = defaultData;
|
||||
|
||||
const QString sysroot = ProjectExplorer::SysRootKitAspect::sysRoot(k).toUserOutput();
|
||||
const QString sysroot = SysRootKitAspect::sysRoot(k).toUserOutput();
|
||||
if (!sysroot.isEmpty())
|
||||
data.insert(QLatin1String(QBS_SYSROOT), sysroot);
|
||||
|
||||
ProjectExplorer::ToolChain *tcC
|
||||
= ProjectExplorer::ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::C_LANGUAGE_ID);
|
||||
ProjectExplorer::ToolChain *tcCxx
|
||||
= ProjectExplorer::ToolChainKitAspect::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
||||
ToolChain *tcC = ToolChainKitAspect::cToolChain(k);
|
||||
ToolChain *tcCxx = ToolChainKitAspect::cxxToolChain(k);
|
||||
if (!tcC && !tcCxx)
|
||||
return data;
|
||||
|
||||
ProjectExplorer::ToolChain *mainTc = tcCxx ? tcCxx : tcC;
|
||||
ToolChain *mainTc = tcCxx ? tcCxx : tcC;
|
||||
|
||||
ProjectExplorer::Abi targetAbi = mainTc->targetAbi();
|
||||
Abi targetAbi = mainTc->targetAbi();
|
||||
|
||||
auto archs = architectures(mainTc);
|
||||
if (!archs.isEmpty())
|
||||
data.insert(QLatin1String(QBS_ARCHITECTURES), archs);
|
||||
if (mainTc->targetAbi() !=
|
||||
ProjectExplorer::Abi::abiFromTargetTriplet(mainTc->originalTargetTriple())
|
||||
|| targetAbi.osFlavor() == ProjectExplorer::Abi::AndroidLinuxFlavor) {
|
||||
if (mainTc->targetAbi() != Abi::abiFromTargetTriplet(mainTc->originalTargetTriple())
|
||||
|| targetAbi.osFlavor() == Abi::AndroidLinuxFlavor) {
|
||||
data.insert(QLatin1String(QBS_ARCHITECTURE), architecture(mainTc->targetAbi()));
|
||||
} else if (archs.count() == 1) {
|
||||
data.insert(QLatin1String(QBS_ARCHITECTURE), archs.first());
|
||||
@@ -281,8 +280,8 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
||||
data.insert(QLatin1String(QBS_TARGETPLATFORM), targetPlatform(targetAbi, k));
|
||||
|
||||
QStringList toolchain = toolchainList(mainTc);
|
||||
if (targetAbi.osFlavor() == ProjectExplorer::Abi::AndroidLinuxFlavor) {
|
||||
const ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceKitAspect::device(k);
|
||||
if (targetAbi.osFlavor() == Abi::AndroidLinuxFlavor) {
|
||||
const IDevice::ConstPtr dev = DeviceKitAspect::device(k);
|
||||
if (dev) {
|
||||
const QString sdkDir = k->value(Android::Constants::ANDROID_KIT_SDK).toString();
|
||||
if (!sdkDir.isEmpty())
|
||||
|
||||
Reference in New Issue
Block a user