Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infra: update macOS build scripts and SDK, bump MoltenVK to 1.2.7 #1463

Merged
merged 1 commit into from May 1, 2024

Conversation

jcm93
Copy link
Contributor

@jcm93 jcm93 commented Apr 29, 2024

This PR does a few things:

  • Updates ares to create macOS builds with the latest SDK. After 6526409 there are no longer any outstanding issues doing so. Importantly, we use Xcode 15.2, since prior versions have issues with weak linking.
  • Adds macos-compat to CI as a compatibility build that maintains macOS 10.9 to 10.13 compatibility. The macos-latest runner will target 10.13 and above. The only difference with this build is the SDK version used to build it (Xcode 13.4); macOS weak linking handles the rest.
  • Increments the MoltenVK version to 1.2.7. The version ares was building required a Python library distutils that is no longer trivially available with newer Python versions.
  • Refactors the xcode-select usage reserved for GitHub Actions out of the SDL script and up to the top level, before any dependency scripts are run. This is just tidying up.
  • Improves the librashader build script warning to specify that you need to add a target with the nightly toolchain to build librashader (from @rasky)
  • Unbreaks the build.

This PR has been tested and verified to build in a local branch, but to be safe, it would probably be good to run it here as well.

@jcm93
Copy link
Contributor Author

jcm93 commented Apr 30, 2024

For some reason, setting our Xcode version to 15.2 on the macos-latest runner causes CMake to look for the macOS 13.1 SDK for the C/CXX compiler when building SDL (?), and then die when it cannot find it. I do not want to build with the default 15.0.1 Xcode, because I know that this will cause a startup crash on macOS 11 and 12. Setting the Xcode version to 14.3.1 (available on macos-latest) to build SDL, and then switching back afterward, does work, so I've pushed an update that does that.

edit: It appears as though setting the SDL deployment target to 10.13 instead of 10.11 is necessary to make CMake not search for only the 13.1 SDK. I will add a change to modify the argument on macos-latest shortly.

@jcm93
Copy link
Contributor Author

jcm93 commented Apr 30, 2024

The weirdness with CMake dying after not being able to find the correct macOS SDK was due to the CMake cache from the build data we had been storing. The SDL cache step has been removed as well in this PR.

Regardless, we now set the deployment targets for SDL correctly depending on the runner.

@LukeUsher LukeUsher merged commit caecd0b into ares-emulator:master May 1, 2024
10 checks passed
LukeUsher pushed a commit that referenced this pull request May 1, 2024
#1463 renamed the `macos` build to `macos-latest` and introduced
`macos-compat`. We need to address the rename in the release workflow. I
believe this PR accounts for every use of the package name. Also adds
macos-compat to the release (for now).

Co-authored-by: jcm <butt@butts.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants