summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2021-12-01 13:46:58 +0100
committerOliver Wolff <oliver.wolff@qt.io>2021-12-02 05:19:46 +0000
commitbeb167a963b1d9161c26769aa08be4670206249e (patch)
tree933c0998955430bae95576226bf0b02965115f17
parent38b2bb9fb2fbc0d764605c9a103ff58ea26c2d61 (diff)
downloadqt-creator-beb167a963b1d9161c26769aa08be4670206249e.tar.gz
Add qt's toolchain file to initial cmake arguments for Windows on ARM64
Fixes: QTCREATORBUG-26636 Change-Id: Id9fc9f3c2242136d2fa4d42e7e64b038a50b1809 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index f43decd940..6f74bc9126 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -805,6 +805,13 @@ static bool isDocker(const Kit *k)
return DeviceTypeKitAspect::deviceTypeId(k) == Docker::Constants::DOCKER_DEVICE_TYPE;
}
+static bool isWindowsARM64(const Kit *k)
+{
+ const auto targetAbi = ToolChainKitAspect::cxxToolChain(k)->targetAbi();
+ return targetAbi.os() == Abi::WindowsOS && targetAbi.architecture() == Abi::ArmArchitecture
+ && targetAbi.wordWidth() == 64;
+}
+
static QStringList defaultInitialCMakeArguments(const Kit *k, const QString buildType)
{
// Generator:
@@ -991,7 +998,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
initialArgs.append("%{" + QLatin1String(CMAKE_OSX_ARCHITECTURES_FLAG) + "}");
}
- if (isWebAssembly(k) || isQnx(k)) {
+ if (isWebAssembly(k) || isQnx(k) || isWindowsARM64(k)) {
const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(k);
if (qt && qt->qtVersion().majorVersion >= 6)
initialArgs.append(CMAKE_QT6_TOOLCHAIN_FILE_ARG);