macOS: Wesnoth can't be built with Xcode 27 — raise minimum deployment target to 12.0
We still set MACOSX_DEPLOYMENT_TARGET = 10.13. Xcode 27 makes an out-of-range
deployment target a hard build error, with macOS 12.0 as the floor — so right now
Wesnoth simply doesn't build on a current macOS + Xcode. On top of that, Apple requires
the 27 SDKs for App Store submissions from April 2027.
There's an undocumented setting, __DIAGNOSE_INVALID_DEPLOYMENT_TARGET_AS_ERROR = NO,
that demotes the error back to a warning. We should not adopt it:
- It doesn't work. Xcode 27 builds of Vienna RSS ran on 10.15 but crashed at launch
on 10.13 —
Symbol not found: _OBJC_CLASS_$_NSConstantIntegerNumber(Foundation 10.14+). The flag silences the diagnostic, it doesn't make the toolchain emit 10.13-compatible code. - It's undocumented and can disappear in any Xcode point release.
- It's a non-starter for the Mac App Store, and MAS is one of our distribution channels.
Proposal
Bump to 12.0 in 1.19.x so it ships with 1.20. Doing it at the series boundary leaves
1.18 as the last release for 10.13–11 users, instead of dropping OS support mid-stable.
-
MACOSX_DEPLOYMENT_TARGET = 12.0in all configs (project-level + 5 targets) - Refresh
projectfiles/Xcode/README.md— still claims 10.11 / Xcode 8.2.1 - Changelog entry + update user-visible system requirements (download page, wiki, MAS listing)
Refs: ViennaRSS/vienna-rss#2140 · Apple: submitting to the App Store · Xcode 27 may end the golden era of backward-compatible Apple apps
Source: wesnoth/wesnoth