serenity
serenity copied to clipboard
Ladybird: Remove requirement to set SERENITY_SOURCE_DIR from browser and headless-browser binaries
This requires a bunch of CMake/gn changes and a few code changes.
It's "simpler" now. Assuming a +300 line build system change can meet your definition of simpler.
As a side-effect of this change:
- We no longer install more files than are needed to run the browser
- We no longer install files into ${CMAKE_INSTALL_DATADIR}/res, which was annoying for packagers/distros
- They are installed in ${CMAKE_INSTALL_DATADIR}/Lagom instead. If CMAKE_INSTALL_DATADIR is not $PREFIX/share though, we get kind of upset.
- Move helper binaries to libexec/ instead of bin/ on non-macOS. In macOS, we make sure they are always in Ladybird.app/Contents/MacOS. This can be controlled via CMAKE_INSTALL_LIBEXECDIR by packagers/distros.
Ah, forgot to open as draft. I still need to test this on macOS, sorry for emailz.
@clausecker this patch is probably interesting to you :)