From 75395af8247ed361a6be5441fd1579ca2bf59554 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 27 Sep 2017 14:33:31 +0200 Subject: [PATCH] QbsProjectManager: Respect overridden target ABI Auto-detecting the architecture in qbs is all well and good, but if the user explicitly set an ABI in the toolchain widget, we must set qbs.architecture accordingly. Change-Id: I3a2c441ceea5e939e43764e0468588d2d0ef323c Reviewed-by: Joerg Bornemann --- src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp | 4 ++++ src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp index 6dc1aa6814d..66201cb98bc 100644 --- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp +++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp @@ -254,6 +254,10 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor auto archs = architectures(mainTc); if (!archs.isEmpty()) data.insert(QLatin1String(QBS_ARCHITECTURES), archs); + if (mainTc->targetAbi() != + ProjectExplorer::Abi::abiFromTargetTriplet(mainTc->originalTargetTriple())) { + data.insert(QLatin1String(QBS_ARCHITECTURE), architecture(mainTc->targetAbi())); + } data.insert(QLatin1String(QBS_TARGETOS), targetOSList(targetAbi, k)); QStringList toolchain = toolchainList(mainTc); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h index e53beb84fe5..cc6bcd8ed3e 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h @@ -78,6 +78,7 @@ const char QBS_PRODUCT_OVERLAY_ICON[] = ":/qbsprojectmanager/images/productgear. const char QBS_TARGETOS[] = "qbs.targetOS"; const char QBS_SYSROOT[] = "qbs.sysroot"; const char QBS_ARCHITECTURES[] = "qbs.architectures"; +const char QBS_ARCHITECTURE[] = "qbs.architecture"; const char QBS_TOOLCHAIN[] = "qbs.toolchain"; const char CPP_TOOLCHAINPATH[] = "cpp.toolchainInstallPath"; const char CPP_TOOLCHAINPREFIX[] = "cpp.toolchainPrefix";