-
Notifications
You must be signed in to change notification settings - Fork 252
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
Mac Universal Binary #658
base: main
Are you sure you want to change the base?
Mac Universal Binary #658
Conversation
How do you intend to make d3-osx.hog work with a universal binary? Can we also get universal binaries for the level script modules? |
Yes, I intend to make everything as a universal binary. Albeit, if I can do this in smaller, incremental steps, I'll do that. I don't have much experience compiling complex C and C++ projects with CMake (like this project), so I expect this PR to take a while before it's ready for review. |
Hey @halprin , I was curious about this whole universal binary thing, so I fired up a MacOS emulator and tried your branch. I faced the same compilation issues as CI when installing third-parties through Homebrew, which seemingly does not use universal libraries, so I used my WIP SDL3 branch that has SDL3 as a git submodule, so SDL is compiled as part of the project instead of externally. I did not try using VCPKG however. The build succeeded this way. The Descent3 executable is indeed multi-arch:
and to answer my question above, level scripts bundled
Running the game just... works! Level scripts do too (you can check that using the training level, that should constrain controls if the script is loaded properly) Honestly this is a pretty impressive feat from Apple, I'm not an Apple fanboy at all but I have to admit that this is really nice, and makes me wish we could do the same on Linux. |
Oh, that's super cool! How far away do you think your SDL3 branch is from merging? I've never used VCPKG. It looks like it works for Mac. I'll need to explore how it could install a universal version or both versions of the dependencies. |
I had packaging issues with VCPKG builds for SDL3, so it still needs some work. Meanwhile it can be a good idea to use VCPKG for the universal mac builds, since it builds all requirements from source instead of using brew. |
Pull Request Type
Description
Related Issues
Screenshots (if applicable)
Checklist
Additional Comments