mirror of
git://code.qt.io/qt/qt5.git
synced 2026-09-04 08:17:39 +08:00
coin: also build HarmonyOS on macOS arm64
Pick-to: 6.12 Change-Id: I35b04541f930745e4e10125582a8a810f3aaaaf5 Reviewed-by: Simo Fält <simo.falt@qt.io>
This commit is contained in:
@@ -32,3 +32,19 @@ Configurations:
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||
'QT_HARMONYOS_HVIGOR=/opt/harmonyos/command-line-tools/bin/hvigorw'
|
||||
]
|
||||
-
|
||||
Id: 'harmonyos-23-arm64-on-macos'
|
||||
Template: 'qtci-macos-26-arm-105'
|
||||
Target os: 'HarmonyOS_ANY'
|
||||
Target arch: 'arm64'
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT}} -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||
'QT_HARMONYOS_HVIGOR=/opt/harmonyos/command-line-tools/bin/hvigorw'
|
||||
]
|
||||
|
||||
Executable
+64
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2025 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script install HarmonyOS sdk and patches.
|
||||
|
||||
set -e
|
||||
|
||||
# shellcheck source=../unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
# shellcheck source=../unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
targetFolder="/opt/harmonyos"
|
||||
sdkTargetFolder="$targetFolder/command-line-tools"
|
||||
|
||||
sudo mkdir -p "$sdkTargetFolder"
|
||||
|
||||
basePath="http://ci-files01-hki.ci.qt.io/input/harmonyos"
|
||||
|
||||
toolsVersion="6.1.0.860"
|
||||
toolsFile="commandline-tools-mac-arm64-6.1.0.860.zip"
|
||||
toolsSha1="4ba9df069fc5c651753c74297d723a2461be12e9"
|
||||
|
||||
toolsTargetFile="/tmp/$toolsFile"
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
|
||||
echo "Download and unzip HarmonyOS SDK"
|
||||
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
|
||||
echo "Unzipping HarmonyOS Tools to '$targetFolder'"
|
||||
sudo unzip -q "$toolsTargetFile" -d "$targetFolder"
|
||||
rm "$toolsTargetFile"
|
||||
|
||||
patchFile="harmonyos_sdk_patches.zip"
|
||||
patchSha1="7f912104a5600bc176891bc6e9d97732f4266ad6"
|
||||
|
||||
patchTargetFile="/tmp/$patchFile"
|
||||
patchSourceFile="$basePath/$patchFile"
|
||||
patchTargetFolder="$targetFolder/harmonyos_sdk_patches"
|
||||
|
||||
echo "Download and unzip HarmonyOS SDK patches"
|
||||
DownloadURL "$patchSourceFile" "$patchSourceFile" "$patchSha1" "$patchTargetFile"
|
||||
echo "Unzipping HarmonyOS SDK patches to '$targetFolder'"
|
||||
sudo unzip -q "$patchTargetFile" -d "$targetFolder"
|
||||
rm "$patchTargetFile"
|
||||
|
||||
echo "Changing ownership of HarmonyOS files."
|
||||
sudo chown -R qt:wheel "$sdkTargetFolder"
|
||||
sudo chmod -R 755 $sdkTargetFolder
|
||||
sudo chown -R qt:wheel "$patchTargetFolder"
|
||||
sudo chmod -R 755 $patchTargetFolder
|
||||
|
||||
echo "Patching HarmonyOS SDK"
|
||||
|
||||
sdkRootFolder="$sdkTargetFolder/sdk/default/openharmony"
|
||||
echo "Checking the contents of HarmonyOS SDK..."
|
||||
ls -l "$sdkRootFolder"
|
||||
|
||||
SetEnvVar "HARMONYOS_SDK_ROOT" "$sdkRootFolder"
|
||||
export HARMONYOS_SDK_ROOT="$sdkRootFolder"
|
||||
|
||||
echo "HarmonyOS SDK setup finished"
|
||||
@@ -4,5 +4,5 @@
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/linux/install-vcpkg-ports-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/install-vcpkg-ports-ohos.sh"
|
||||
# shellcheck source=../common/unix/install-vcpkg-ports-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-vcpkg-ports-ohos.sh"
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/linux/install-openssl-headers-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/install-openssl-headers-ohos.sh"
|
||||
# shellcheck source=../common/unix/install-openssl-headers-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-openssl-headers-ohos.sh"
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2025 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/macos/harmonyos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/macos/harmonyos.sh"
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
brew install autoconf autoconf-archive automake libtool
|
||||
|
||||
# shellcheck source=../common/unix/install-vcpkg-ports-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-vcpkg-ports-ohos.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/unix/install-openssl-headers-ohos.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-openssl-headers-ohos.sh"
|
||||
Reference in New Issue
Block a user