Files
gsplus/.github/workflows
Dagen BrockandClaude Opus 4.8 2aa071fa9a CI: add universal macOS build + fix minimum-OS deployment target
Downloaded macOS apps failed with "You can't use this version of the
application with this version of macOS" on older systems. The SDL bundle
set no deployment target, so the toolchain stamped the binary's minimum-OS
(LC_BUILD_VERSION minos) with the build machine's SDK -- macOS 15 on the
macos-latest runner. Pin CMAKE_OSX_DEPLOYMENT_TARGET to 11.0 so the app
runs on macOS 11+.

Also add a second macOS CI job producing a universal (arm64 + x86_64) app
alongside the arm64-only Darwin build. It skips Homebrew SDL3 (arm64-only,
unlinkable into a universal binary) so CMake's FetchContent path builds a
universal SDL3 from source, and passes CMAKE_OSX_ARCHITECTURES. The artifact
is renamed GSplus-<ver>-macOS-universal.dmg to avoid colliding with the
arm64 dmg on the Release.

Universal exposed three CMake fixes:
- skip the legacy Swift/Cocoa app on multi-arch builds (Swift can't do
  universal; that target is excluded from the default build anyway)
- enable_language(OBJC) so sdl_mac_menu.m gets a proper compile rule
- pass the SDL3 dylib dir to fixup_bundle so it resolves the FetchContent
  build's @rpath/libSDL3.0.dylib

Verified locally: universal dmg contains an x86_64+arm64 app and SDL3,
minos 11.0, valid signature; the default single-arch path is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 17:22:32 -05:00
..