Skip to content

Build SDL3 in-tree for Xcode - #67

Merged
jdolan merged 2 commits into
mainfrom
sdl-in-tree
Sep 30, 2026
Merged

jdolan merged 2 commits into
mainfrom
sdl-in-tree

Conversation

@jdolan

@jdolan jdolan commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Builds SDL3 in-tree for the Xcode workspace, as jdolan/ObjectivelyGPU#8 does. See jdolan/quetoo#1093.

MVC's header search paths put $(HOMEBREW_PREFIX)/include before the framework search path, so <SDL3/...> resolved to Homebrew's stock headers while MVC linked the fork. The two disagree on the size of SDL_GPUDepthStencilTargetInfo.

  • ObjectivelyMVC.xcworkspace adds ../SDL3/Xcode/SDL/SDL.xcodeproj, and the targets link SDL3.framework from the build products.
  • The header search paths name $(SRCROOT)/../SDL3/include ahead of Homebrew.
  • release.yml drops the fetch step. It already clones the fork into SDL3, next to the other checkouts.

Verification: a local Xcode build of the ObjectivelyMVC scheme against the GPU branch succeeds. Its objects include SDL3/include/SDL3/SDL_gpu.h, and MVC, SDL3_image and SDL3_ttf all link @rpath/SDL3.framework. CI does not build the Xcode projects.

🤖 Generated with Claude Code

MVC's header search paths put $(HOMEBREW_PREFIX)/include before the framework search path, so
<SDL3/...> resolved to Homebrew's stock headers while MVC linked the fork. The two disagree on the
size of SDL_GPUDepthStencilTargetInfo.

As in ObjectivelyGPU, the workspace now builds SDL3.framework from SDL's own Xcode project in the
sibling ../SDL3 checkout of the jdolan/SDL ObjectivelyGPU tag, and the header search paths name its
include directory ahead of Homebrew. The release job already clones that checkout.

See jdolan/quetoo#1093.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 18:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The workspace, project references, header ordering, and release workflow consistently use the same SDL3 source tree.

Review effort: Balanced
Findings: None

What changed in this PR

Builds SDL3 in-tree for Xcode to prevent header/framework ABI mismatches.

Changes:

  • Adds SDL3’s Xcode project to the workspace.
  • Links the built framework and prioritizes matching headers.
  • Removes the obsolete release fetch step.
File Description
ObjectivelyMVC.xcworkspace/​contents.xcworkspacedata Adds the sibling SDL3 project.
ObjectivelyMVC.xcodeproj/​project.pbxproj Uses the in-tree SDL3 framework and headers.
Frameworks/​fetch-sdl3-extensions.sh Documents SDL3’s new source.
.github/​workflows/​release.yml Reuses the existing SDL3 checkout.
Files not reviewed (1)
  • ObjectivelyMVC.xcworkspace/contents.xcworkspacedata: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

The workspace builds SDL3.framework from ../SDL3 and fails without it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@jdolan
jdolan merged commit f5c978d into main Sep 30, 2026
4 checks passed
@jdolan
jdolan deleted the sdl-in-tree branch September 30, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants