summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-09-27 14:33:31 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-09-27 16:13:06 +0000
commit75395af8247ed361a6be5441fd1579ca2bf59554 (patch)
treec28126b31d757d3f1ed86dc721dcdd53a3e40ccc
parentc94b813561b486cce98a98fb0ba118daeccdf685 (diff)
downloadqt-creator-75395af8247ed361a6be5441fd1579ca2bf59554.tar.gz
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 <joerg.bornemann@qt.io>
-rw-r--r--src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp4
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
index 6dc1aa6814..66201cb98b 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 e53beb84fe..cc6bcd8ed3 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";