diff --git a/coin/provisioning/common/linux/install-vcpkg-ports-ohos.sh b/coin/provisioning/common/linux/install-vcpkg-ports-ohos.sh new file mode 100644 index 00000000..26c7e21d --- /dev/null +++ b/coin/provisioning/common/linux/install-vcpkg-ports-ohos.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env 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 + +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +echo "Installing vcpkg OHOS ports" + +# The vcpkg OHOS toolchain expects OHOS_SDK_ROOT; CI sets HARMONYOS_SDK_ROOT. +export OHOS_SDK_ROOT="${OHOS_SDK_ROOT:-$HARMONYOS_SDK_ROOT}" + +if [ -z "$OHOS_SDK_ROOT" ]; then + echo "ERROR: Neither OHOS_SDK_ROOT nor HARMONYOS_SDK_ROOT is set." >&2 + exit 1 +fi + +# Coin sets TARGET=hdb in the environment. GNU Make imports env vars as make +# variables, which breaks ICU's Makefile (it defines its own TARGET variable +# for the library path). Unset it before invoking vcpkg. +unset TARGET + +"${BASH_SOURCE%/*}/../unix/install-vcpkg-ports.sh" arm64-ohos + +SetEnvVar "VCPKG_OHOS_INSTALLED" "$VCPKG_ROOT/installed/arm64-ohos" +export VCPKG_OHOS_INSTALLED="$VCPKG_ROOT/installed/arm64-ohos" + +echo "OHOS vcpkg ports installed to $VCPKG_OHOS_INSTALLED" diff --git a/coin/provisioning/common/shared/vcpkg/vcpkg.json b/coin/provisioning/common/shared/vcpkg/vcpkg.json index d2b41d4a..86fd29e2 100644 --- a/coin/provisioning/common/shared/vcpkg/vcpkg.json +++ b/coin/provisioning/common/shared/vcpkg/vcpkg.json @@ -7,16 +7,55 @@ } ], "dependencies": [ - "openssl", + { + "name": "openssl", + "platform": "!ohos" + }, { "name": "protobuf", - "platform": "!osx" + "platform": "!osx & !ohos" }, { "name": "protobuf", "platform": "osx", "features": [ "target-protoc" ] }, - "grpc" + { + "name": "grpc", + "platform": "!ohos" + }, + { + "name": "brotli", + "platform": "ohos" + }, + { + "name": "expat", + "platform": "ohos" + }, + { + "name": "fontconfig", + "platform": "ohos" + }, + { + "name": "freetype", + "default-features": false, + "platform": "ohos" + }, + { + "name": "icu", + "platform": "ohos" + }, + { + "name": "libjpeg-turbo", + "platform": "ohos" + }, + { + "name": "libpng", + "platform": "ohos" + }, + { + "name": "node-addon-api", + "platform": "ohos" + } ] } diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/43-install-vcpkg-ports-ohos.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/43-install-vcpkg-ports-ohos.sh new file mode 100644 index 00000000..23c77a2f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/43-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/linux/install-vcpkg-ports-ohos.sh +source "${BASH_SOURCE%/*}/../common/linux/install-vcpkg-ports-ohos.sh"