mirror of
https://github.com/digarok/gsplus.git
synced 2026-10-25 19:03:15 +00:00
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>