#11590·wesnoth

macOS: Wesnoth can't be built with Xcode 27 — raise minimum deployment target to 12.0

Author: hrubymar10Created Sep 22, 2026Updated Sep 23, 2026
LabelsEnhancementBlocker: New StablemacOSPackaging

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.0 in 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