Skip to content

Commit 8d76185

Browse files
committed
Fix Windows RC flags and OHOS SDK discovery
1 parent bcf9774 commit 8d76185

3 files changed

Lines changed: 22 additions & 5 deletions

File tree

‎.github/workflows/ffmpeg-dependencies.yml‎

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,22 @@ jobs:
131131
- name: Initialize pinned vcpkg
132132
run: git submodule update --init ffmpeg/vcpkg
133133

134+
- name: Locate OHOS SDK 23
135+
run: |
136+
sdk_root="${OHOS_SDK_ROOT:-$HOME/Library/OpenHarmony/Sdk/23}"
137+
toolchain="$sdk_root/native/build/cmake/ohos.toolchain.cmake"
138+
if [[ ! -f "$toolchain" ]]; then
139+
echo "::error::OHOS SDK 23 toolchain not found at $toolchain"
140+
exit 1
141+
fi
142+
echo "OHOS_SDK_ROOT=$sdk_root" >> "$GITHUB_ENV"
143+
134144
- name: Check OHOS host tools
135145
run: |
136-
test -n "$OHOS_SDK_ROOT"
137-
test -f "$OHOS_SDK_ROOT/native/build/cmake/ohos.toolchain.cmake"
138-
command -v patchelf
146+
if ! command -v patchelf >/dev/null 2>&1; then
147+
echo "::error::macOS-native patchelf is required; install it with: brew install patchelf"
148+
exit 1
149+
fi
139150
140151
- name: Restore vcpkg binary cache
141152
uses: actions/cache@v4

‎ffmpeg/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,5 @@ Windows when a different artifact directory is needed.
123123

124124
`.github/workflows/ffmpeg-dependencies.yml` builds Android and OHOS on a
125125
self-hosted macOS arm64 runner and Windows on a self-hosted Visual Studio
126-
runner. The macOS runner service environment must provide `OHOS_SDK_ROOT` and
127-
macOS-native `patchelf`.
126+
runner. The OHOS job uses `OHOS_SDK_ROOT` when set and otherwise checks
127+
`$HOME/Library/OpenHarmony/Sdk/23`; macOS-native `patchelf` must be installed.

‎ffmpeg/triplets/toolchains/windows-clang-cl.cmake‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,10 @@ if(NOT _QTAV_WINDOWS_CLANG_CL_TOOLCHAIN)
4444
set(CMAKE_CXX_COMPILER "${QTAV_CLANG_CL}" CACHE FILEPATH "" FORCE)
4545

4646
include("${CMAKE_CURRENT_LIST_DIR}/../../vcpkg/scripts/toolchains/windows.cmake")
47+
48+
# CMake's cmcldeps passes resource-compiler flags through clang-cl while
49+
# scanning .rc dependencies. clang-cl treats rc.exe's /c65001 option as a
50+
# file name, so retain the Windows define without that RC-only codepage
51+
# switch. C and C++ sources still receive vcpkg's /utf-8 option.
52+
set(CMAKE_RC_FLAGS "/DWIN32" CACHE STRING "" FORCE)
4753
endif()

0 commit comments

Comments
 (0)