Files
kichikuou 3e32da1d37 Add SDL3 support alongside SDL2
Add optional SDL3 support while keeping SDL2 as the default. SDL3 builds
must be selected explicitly with the SYSTEM3_SDL_VERSION CMake option.

Centralize most SDL2/SDL3 API differences behind compatibility interfaces.
Audio playback uses a dedicated SDL3 backend based on SDL3 audio streams,
implemented separately in mako_sdl3.cpp.

Android and Nintendo Switch remain on SDL2 for now.
2026-09-16 08:44:23 +09:00

44 lines
1.1 KiB
YAML

name: Windows (MSVS) Build
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
include:
- arch: "Win32"
sdl-version: 2
package: "system3-sdl2-msvc-32bit"
- arch: "x64"
sdl-version: 2
package: "system3-sdl2-msvc-64bit"
- arch: "Win32"
sdl-version: 3
package: "system3-sdl3-msvc-32bit"
- arch: "x64"
sdl-version: 3
package: "system3-sdl3-msvc-64bit"
name: MSVS SDL${{ matrix.sdl-version }} ${{ matrix.arch }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: true
- name: Build
run: |
mkdir out
cd out
cmake -A ${{ matrix.arch }} -DCMAKE_COMPILE_WARNING_AS_ERROR=YES -DSYSTEM3_SDL_VERSION=${{ matrix.sdl-version }} ../
cmake --build . --config Release
cmake --install . --prefix artifacts
cp ../COPYING.txt artifacts/
- name: Upload
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.package }}
path: out/artifacts