Skip to content

Conversation

@MuleDad
Copy link

@MuleDad MuleDad commented Oct 7, 2025

Fix macOS 15 (Sequoia) build: update embedded JUCE

Building ysfx on macOS 15 / Xcode 16 fails during juceaide with:

'CGWindowListCreateImage' is unavailable: obsoleted in macOS 15.0 - Please use ScreenCaptureKit instead.

This happens because JUCE 7.0.0 still references APIs removed in the macOS 15 SDK. Newer JUCE releases use ScreenCaptureKit and compile cleanly.

What this PR changes

  • Update JUCE to 8.0.10 via FetchContent so juceaide builds against the macOS 15 SDK.
  • Switch to FetchContent_MakeAvailable (modern CMake) and set DOWNLOAD_EXTRACT_TIMESTAMP TRUE to silence CMake policy warnings.

Rationale

  • macOS 15 SDK obsoletes CGWindowListCreateImage; older JUCE fails to compile.
  • JUCE 8.x includes the replacement using ScreenCaptureKit, resolving the error.

###Notes / Impact

  • No code changes to ysfx itself—only the embedded JUCE version and FetchContent usage.
  • Linux/Windows builds unaffected.
  • macOS ≤14 continues to build as before.

Build verification

  • ✅ Configures and builds on macOS 15 (Sequoia) with Xcode 16 / AppleClang 17.
  • ✅ juceaide “Testing/Finished setting up” completes, then project builds successfully.

Maintenance

  • Keeps CMake warnings at bay (CMP0135/CMP0169).
  • Future JUCE updates remain a one-liner in the FetchContent_Declare.

If you prefer a different JUCE tag (e.g., a specific 8.x point release), I’m happy to update this PR. Thanks!

@JoepVanlier
Copy link

JoepVanlier commented Oct 16, 2025

Hey, just as a heads up, I'm not sure if this is going to get any reviews. I think jpcima has unfortunately been inactive for a while now :(. Probably still nice to keep this PR up in case someone else stumbles across it and needs it though.

Just so you are aware, I'm maintaining a fork of this project that keeps things a bit more up to date and adds some newer JSFX functionality.

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