mirror of
https://github.com/Vita3K/Vita3K.git
synced 2026-07-11 01:34:23 +02:00
ci: Add Windows ARM64 build (#3770)
Add Windows ARM64 build. - Simplify vcpkg installation with `--triplet=<triplet>`. - Remove useless `if` in the job `Compute git short SHA`. - Rename macOS/Windows x86_64 artifacts. - Disable Discord Rich Presence on Windows ARM64. - Add flags to disable inclusion of timestamps in PCH files with clang-cl. - Enable Visual Studio for ARM64 in CMake presets. - Fix the Windows update script still using '0.2.0' when parsing version. - external: Update ffmpeg-core
This commit is contained in:
+28
-10
@@ -43,13 +43,25 @@ jobs:
|
||||
cmake_preset: linux-ninja-clang-appimage
|
||||
|
||||
- os: windows-latest
|
||||
arch: x86_64
|
||||
cache_path: |
|
||||
C:\vcpkg\installed
|
||||
C:\vcpkg\packages
|
||||
C:\Users\runneradmin\AppData\Local\ccache
|
||||
C:\vcpkg\installed
|
||||
C:\vcpkg\packages
|
||||
C:\Users\runneradmin\AppData\Local\ccache
|
||||
vcpkg_triplet: x64-windows-static-md
|
||||
extra_cmake_args: -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static-md
|
||||
cmake_preset: windows-ninja
|
||||
|
||||
- os: windows-11-arm
|
||||
arch: arm64
|
||||
cache_path: |
|
||||
C:\vcpkg\installed
|
||||
C:\vcpkg\packages
|
||||
C:\Users\runneradmin\AppData\Local\ccache
|
||||
vcpkg_triplet: arm64-windows-static-md
|
||||
extra_cmake_args: -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=arm64-windows-static-md
|
||||
cmake_preset: windows-ninja-clang
|
||||
|
||||
- os: macos-intel
|
||||
runs_on: macos-latest
|
||||
cache_path: ~/Library/Caches/ccache
|
||||
@@ -64,6 +76,7 @@ jobs:
|
||||
|
||||
- os: android
|
||||
runs_on: ubuntu-latest
|
||||
vcpkg_triplet: arm64-android
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
@@ -94,17 +107,19 @@ jobs:
|
||||
|
||||
- name: Set up build environment (Windows)
|
||||
run: |
|
||||
vcpkg install zlib:x64-windows-static-md boost-system:x64-windows-static-md boost-filesystem:x64-windows-static-md boost-program-options:x64-windows-static-md boost-icl:x64-windows-static-md boost-variant:x64-windows-static-md curl:x64-windows-static-md openssl:x64-windows-static-md
|
||||
vcpkg install zlib boost-system boost-filesystem boost-program-options boost-icl boost-variant curl openssl --triplet=${{ matrix.vcpkg_triplet }}
|
||||
choco install ccache
|
||||
if: matrix.os == 'windows-latest'
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
|
||||
- uses: ilammy/msvc-dev-cmd@v1
|
||||
if: matrix.os == 'windows-latest'
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
|
||||
- name: Set up build environment (Android)
|
||||
run: |
|
||||
sudo apt-get install -y ninja-build
|
||||
vcpkg install boost-system:arm64-android boost-filesystem:arm64-android boost-program-options:arm64-android boost-icl:arm64-android boost-variant:arm64-android openssl:arm64-android zlib:arm64-android
|
||||
vcpkg install boost-system boost-filesystem boost-program-options boost-icl boost-variant openssl zlib --triplet=${{ matrix.vcpkg_triplet }}
|
||||
if: matrix.os == 'android'
|
||||
|
||||
- uses: hendrikmuhs/ccache-action@v1.2
|
||||
@@ -185,7 +200,6 @@ jobs:
|
||||
|
||||
- name: Compute git short SHA
|
||||
shell: bash
|
||||
if: env.GIT_SHORT_SHA == ''
|
||||
run: echo "GIT_SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||
|
||||
- name: Create DMG (macOS)
|
||||
@@ -281,7 +295,7 @@ jobs:
|
||||
elif [[ $dir == *-macos-intel ]]; then
|
||||
echo "Processing $dir (macOS Intel)"
|
||||
cp $dir/*.dmg artifacts-master/macos-latest.dmg
|
||||
cp $dir/*.dmg artifacts-store/vita3k-${{ env.BUILD_VARIABLE }}-${{ env.GIT_SHORT_SHA }}-macos.dmg
|
||||
cp $dir/*.dmg artifacts-store/vita3k-${{ env.BUILD_VARIABLE }}-${{ env.GIT_SHORT_SHA }}-macos-intel.dmg
|
||||
elif [[ $dir == *-macos-arm64 ]]; then
|
||||
echo "Processing $dir (macOS ARM64)"
|
||||
cp $dir/*.dmg artifacts-master/macos-arm64-latest.dmg
|
||||
@@ -305,7 +319,11 @@ jobs:
|
||||
elif [[ $dir == *-windows-latest ]]; then
|
||||
echo "Processing $dir (Windows x86_64)"
|
||||
(cd $dir && zip -r ../artifacts-master/windows-latest.zip *)
|
||||
7z a -mx=9 artifacts-store/vita3k-${{ env.BUILD_VARIABLE }}-${{ env.GIT_SHORT_SHA }}-windows.7z $dir
|
||||
7z a -mx=9 artifacts-store/vita3k-${{ env.BUILD_VARIABLE }}-${{ env.GIT_SHORT_SHA }}-windows-x86_64.7z $dir
|
||||
elif [[ $dir == *-windows-11-arm ]]; then
|
||||
echo "Processing $dir (Windows ARM64)"
|
||||
(cd $dir && zip -r ../artifacts-master/windows-arm64-latest.zip *)
|
||||
7z a -mx=9 artifacts-store/vita3k-${{ env.BUILD_VARIABLE }}-${{ env.GIT_SHORT_SHA }}-windows-arm64.7z $dir
|
||||
fi
|
||||
done
|
||||
echo "=== artifacts-master ==="
|
||||
|
||||
Reference in New Issue
Block a user