summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kde.org>2019-12-02 13:59:07 +0200
committerBogDan Vatra <bogdan@kdab.com>2019-12-03 14:12:58 +0000
commit6954e511744f05f71cee8091c6beee06606e0c59 (patch)
treecd55618eee1082b10f44f68b2d8496c02795bdbd
parent23de4630fc477090b0695224a9e7f63e89b0e541 (diff)
downloadqt-creator-6954e511744f05f71cee8091c6beee06606e0c59.tar.gz
Android: Don't add contains(ANDROID_TARGET_ARCH,..) scope for Qt 5.14
Starting with Qt 5.14 we don't need "contains(ANDROID_TARGET_ARCH" scope as we are doing multi abi builds in one go, therefore contains(ANDROID_TARGET_ARCH,...) won't work anymore. Fixes: QTBUG-79948 Change-Id: Icc989e4dfd48c765340569dcb547e8d0d2b1e8f1 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
-rw-r--r--src/plugins/qmakeprojectmanager/qmakenodes.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
index c2a15c9eaf..0d7f5f6a06 100644
--- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
@@ -32,6 +32,9 @@
#include <projectexplorer/runconfiguration.h>
#include <projectexplorer/target.h>
+#include <qtsupport/baseqtversion.h>
+#include <qtsupport/qtkitinformation.h>
+
#include <resourceeditor/resourcenode.h>
#include <utils/qtcassert.h>
@@ -358,11 +361,16 @@ bool QmakeProFileNode::setData(Core::Id role, const QVariant &value) const
QmakeProFile *pro = proFile();
if (!pro)
return false;
-
- const QString arch = pro->singleVariableValue(Variable::AndroidArch);
- const QString scope = "contains(ANDROID_TARGET_ARCH," + arch + ')';
- auto flags = QmakeProjectManager::Internal::ProWriter::ReplaceValues
- | QmakeProjectManager::Internal::ProWriter::MultiLine;
+ QString scope;
+ int flags = QmakeProjectManager::Internal::ProWriter::ReplaceValues;
+ if (Target *target = m_project->activeTarget()) {
+ QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
+ if (version && version->qtVersion() < QtSupport::QtVersionNumber(5, 14, 0)) {
+ const QString arch = pro->singleVariableValue(Variable::AndroidArch);
+ scope = "contains(ANDROID_TARGET_ARCH," + arch + ')';
+ flags |= QmakeProjectManager::Internal::ProWriter::MultiLine;
+ }
+ }
if (role == Android::Constants::AndroidExtraLibs)
return pro->setProVariable("ANDROID_EXTRA_LIBS", value.toStringList(), scope, flags);