DirtBagXon / hypseus-singe

Hypseus is a SDL2 version of Daphne and Singe. Laserdisc game emulation.
https://discord.gg/dgCsCfmRfJ
GNU General Public License v3.0
143 stars 19 forks source link

Use GitHub Actions for Unix Builds #90

Closed WingofaGriffin closed 11 months ago

WingofaGriffin commented 1 year ago

Tried my hand at generating some CI scripts for MacOS64 and Linux64 (Ubuntu) builds. Ubuntu is working fine, but macos is giving an error on ld -lsdl2 for some reason despite specifically installing it with homebrew.

Didn't include Windows build as no instructions were provided for building explicitly.

DirtBagXon commented 1 year ago

Many thanks for this, I have to admit I should try and get my head around it.

However the linux binary that your action produces is having GLIBC issues on my development setup. So not sure what is going on there with the build environment and how you would control that across distributions.

The Mac build also seems to depend on OSX and Intel/M1 versions too. I am not a Mac developer, and I think this is mostly CMAKE related, but in the assistance I have had on Mac, we have had to remove -lSDL2 and add a direct path to the .dylib for SDL2 in the final link. This dylib seems to exist in different places on different system setups also...

WingofaGriffin commented 1 year ago

It looks like the ubuntu build doesn't come with glibc installed, which might have caused the issues? I tried adding those in, maybe that was it? Should this be something that the make process checks for and calls an error if missing?

re: macos, it probably makes sense to modify the cmake instructions to behave differently from mac altogether then, no? Pointing to the homebrew location of the sdl2 install seems like what it should do: https://formulae.brew.sh/formula/sdl2

In full honesty, I am not a C developer (anymore at least), so I don't have plans to touch makefiles beyond things that can be altered in environment variables. Please modify this PR as you see fit, as the build process should be yours anyway.

As a sidenote, if you want to switch these to be actual releases, you can do so with another action: https://github.com/softprops/action-gh-release

WingofaGriffin commented 1 year ago

@DirtBagXon wanted to check on the status of this. If it makes sense just to do Linux for now, that works for me. Otherwise let me know how I can help push this across the finish line with you and possibly get MacOS builds working for you.

DirtBagXon commented 11 months ago

Thanks for the inspiration here. Finally added for Ubuntu in: https://github.com/DirtBagXon/hypseus-singe/commit/f388682f1d75d3074949ec82f87ca3533e813fee