ci+release: build with gameinput support

This commit is contained in:
Anonymous Maarten 2026-05-14 19:15:42 +02:00 committed by Anonymous Maarten
parent ff98125cbd
commit 6b26332785
7 changed files with 120 additions and 15 deletions

View file

@ -12,6 +12,7 @@ from typing import Optional
logger = logging.getLogger(__name__)
WINDOWS_GAMEINPUT_VERSION = "v3.3.195.0 "
class AppleArch(Enum):
Aarch64 = "aarch64"
@ -217,6 +218,7 @@ class JobDetails:
msys2_msystem: str = ""
msys2_packages: list[str] = dataclasses.field(default_factory=list)
werror: bool = True
microsoft_gameinput_version: str = ""
msvc_vcvars_arch: str = ""
msvc_vcvars_sdk: str = ""
msvc_project: str = ""
@ -286,6 +288,7 @@ class JobDetails:
"android-mk": self.android_mk,
"werror": self.werror,
"sudo": self.sudo,
"microsoft-gameinput-version": self.microsoft_gameinput_version,
"msvc-vcvars-arch": self.msvc_vcvars_arch,
"msvc-vcvars-sdk": self.msvc_vcvars_sdk,
"msvc-project": self.msvc_project,
@ -437,6 +440,9 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool, ctest_args
job.setup_libusb_arch = "x86"
case MsvcArch.X64:
job.setup_libusb_arch = "x64"
job.microsoft_gameinput_version = WINDOWS_GAMEINPUT_VERSION
job.cflags.append("-I$GAMEINPUT_INCLUDE")
job.cxxflags.append("-I$GAMEINPUT_INCLUDE")
case SdlPlatform.Linux:
if spec.name.startswith("Ubuntu"):
assert spec.os.value.startswith("ubuntu-")
@ -764,6 +770,9 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool, ctest_args
job.msys2_packages.append(f"{msys2_env}-clang-tools-extra")
if job.ccache:
job.msys2_packages.append(f"{msys2_env}-ccache")
job.microsoft_gameinput_version = WINDOWS_GAMEINPUT_VERSION
job.cflags.append("-I$GAMEINPUT_INCLUDE")
job.cxxflags.append("-I$GAMEINPUT_INCLUDE")
case SdlPlatform.Riscos:
job.ccache = False # FIXME: enable when container gets upgrade
# FIXME: Enable SDL_WERROR

View file

@ -167,6 +167,14 @@ jobs:
echo '#error "System SDL headers must not be used by build system"' >"$dest"
done
done
- name: 'Set up Microsoft.GameInput headers'
if: ${{ matrix.platform.microsoft-gameinput-version != '' }}
run: |
python build-scripts/download-gameinput-headers.py \
--version ${{ matrix.platform.microsoft-gameinput-version }} \
-o $HOME/gameinput
echo "GAMEINPUT_INCLUDE=$(cygpath -w "$HOME/gameinput")" >>$GITHUB_ENV
echo "INCLUDE=$INCLUDE;$(cygpath -w "$HOME/gameinput")" >>$GITHUB_ENV
- name: 'Calculate ccache key'
if: ${{ matrix.platform.ccache }}

View file

@ -345,7 +345,7 @@ jobs:
id: releaser
run: |
python build-scripts/build-release.py `
--actions msvc `
--actions download msvc `
--commit ${{ inputs.commit }} `
--root "${{ steps.zip.outputs.path }}" `
--github `
@ -507,7 +507,7 @@ jobs:
id: releaser
run: |
python build-scripts/build-release.py \
--actions mingw \
--actions download mingw \
--commit ${{ inputs.commit }} \
--root "${{ steps.tar.outputs.path }}" \
--github \
@ -619,7 +619,7 @@ jobs:
id: releaser
run: |
python build-scripts/build-release.py \
--actions android \
--actions download android \
--android-api 21 \
--android-ndk-home "${{ steps.setup-ndk.outputs.ndk-path }}" \
--commit ${{ inputs.commit }} \