serenity icon indicating copy to clipboard operation
serenity copied to clipboard

Ladybird: Remove requirement to set SERENITY_SOURCE_DIR from browser and headless-browser binaries

Open ADKaster opened this issue 2 years ago • 2 comments

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.

ADKaster avatar Feb 22 '24 04:02 ADKaster

Ah, forgot to open as draft. I still need to test this on macOS, sorry for emailz.

ADKaster avatar Feb 22 '24 04:02 ADKaster

@clausecker this patch is probably interesting to you :)

ADKaster avatar Feb 24 '24 00:02 ADKaster