diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49d4ddb9b..686733c1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,6 +117,39 @@ jobs: files: | media_kit_test/media_kit_test_win32_x64.7z + windows-arm64: + name: Windows ARM64 + runs-on: windows-11-arm + defaults: + run: + working-directory: media_kit_test + steps: + - uses: actions/checkout@v2 + with: + submodules: "true" + - name: Set up Flutter for ARM64 + shell: pwsh + run: | + $flutterPath = Join-Path $env:RUNNER_TEMP "flutter" + git clone https://github.com/flutter/flutter.git -b stable --depth 1 $flutterPath + Add-Content -Path $env:GITHUB_PATH -Value (Join-Path $flutterPath "bin") + & (Join-Path $flutterPath "bin\flutter.bat") --version + - run: flutter pub get + - run: flutter build windows --verbose + - run: cmake -E tar "cfv" "media_kit_test_win32_arm64.7z" --format=7zip "build\windows\arm64\runner\Release" + - uses: actions/upload-artifact@v4 + with: + name: media_kit_test_win32_arm64 + path: media_kit_test/media_kit_test_win32_arm64.7z + - uses: softprops/action-gh-release@v1 + if: github.ref == 'refs/heads/main' + with: + draft: true + prerelease: false + tag_name: "vnext" + files: | + media_kit_test/media_kit_test_win32_arm64.7z + linux: name: Linux runs-on: ubuntu-latest diff --git a/libs/windows/media_kit_libs_windows_video/windows/CMakeLists.txt b/libs/windows/media_kit_libs_windows_video/windows/CMakeLists.txt index 8234d5f39..3686124c9 100644 --- a/libs/windows/media_kit_libs_windows_video/windows/CMakeLists.txt +++ b/libs/windows/media_kit_libs_windows_video/windows/CMakeLists.txt @@ -64,11 +64,19 @@ function(check_directory_exists_and_not_empty dir result_var) endfunction() # libmpv archive containing the pre-built shared libraries & headers. -set(LIBMPV "mpv-dev-x86_64-20251210-git-ad59ff1.7z") +string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" LIBMPV_TARGET_PROCESSOR) +string(TOLOWER "${CMAKE_GENERATOR_PLATFORM}" LIBMPV_GENERATOR_PLATFORM) + +if(LIBMPV_TARGET_PROCESSOR MATCHES "^(arm64|aarch64)$" OR LIBMPV_GENERATOR_PLATFORM MATCHES "^(arm64|aarch64)$") + set(LIBMPV "mpv-dev-aarch64-20260623-git-ad59ff1.zip") + set(LIBMPV_SHA256 "381711758315b81d17df24fbb9dc4333b33b840c14fd674e264fb3306d21b7b0") +else() + set(LIBMPV "mpv-dev-x86_64-20260623-git-ad59ff1.7z") + set(LIBMPV_SHA256 "159d7379898e2e2490ab3e0dca233daa5b7389fcd32d4cb8c420399f44284399") +endif() -# Download URL & SHA256 hash of the libmpv archive. -set(LIBMPV_URL "https://github.com/Predidit/libmpv-win32-video-cmake/releases/download/20251210/${LIBMPV}") -set(LIBMPV_SHA256 "53212bb8886d76d041ecd023a29e6213ada6fb5afedb8970610b396435833b99") +# Download URL of the libmpv archive. +set(LIBMPV_URL "https://github.com/Predidit/libmpv-win32-video-cmake/releases/download/20260623/${LIBMPV}") # Download location of the libmpv archive. set(LIBMPV_ARCHIVE "${CMAKE_BINARY_DIR}/${LIBMPV}")