32blit / 32blit-sdk

32blit SDK
https://32blit.com
MIT License
197 stars 69 forks source link

ci: enable ccache for macOS #814

Closed Daft-Freak closed 1 year ago

Daft-Freak commented 1 year ago

Should help a bit with build times, also consistent with the other builds

Daft-Freak commented 1 year ago

Added a patch from #803 to fix the macOS and MinGW builds sharing an artifact.

Doesn't do anything about the macOS artifacts containing 108 copies of SDL though. (3 for each example due to artifacts not doing symlinks, > 3MB each)

Gadgetoid commented 1 year ago

I'm a little floored that SDL2.framework is 9.5MB.

It feels a little disingenuous to do something different for artefacts vs releases but maybe macOS packages should set the rpath to something like @executable_path/../../Frameworks and the SDL assembles should be stored in /bin/Frameworks. It could work as an additional rpath so stuff doesn't break when it's moved into "Applications" perhaps. I'm a bit rusty on macOS stuff.

It's times like these I need a mac!

Daft-Freak commented 1 year ago

It should be 3.2MB (and is in release packages), but the artifact upload follows symlinks and makes it 3x bigger...

(Which is a pretty good size considering that the windows .dll is 2.5MB and doesn't contain two architectures)

Don't know if we can get fixup_bundle to put dependencies somewhere that isn't in the bundle. We could do some hack and not run it for artifacts, but then the output is even harder to run. (not signed, so you already have to mess with security settings)

Gadgetoid commented 1 year ago

Ugh I forgot about macOS security settings. Hacks are probably generally a bad idea :laughing:

Daft-Freak commented 1 year ago

Hah, this is a weird case where the "double zip" thing would actually help...