Support Ninja builds on macOS for distribution packagers

anvara

New Member
OBS currently requires CMake's Xcode generator on macOS. This makes packaging
difficult for distributions like nixpkgs that build into a staging prefix and handle their
own dependency fixups and ad-hoc signing.

I'm proposing OBS support an additional generator-independent build and
installation path using Ninja. With a supported Apple SDK and Swift toolchain,
the path would cover native arm64 and x86_64 builds and make `cmake --install`
produce a complete `OBS.app`.

The installed application would include enabled frameworks, plugins, resources,
scripting modules, browser helpers, Qt components, `obs-ffmpeg-mux`, and a valid
`Info.plist`. Its Mach-O files wouldn't retain build-tree paths. Native Ninja CI
would keep the build and installation path working.

This wouldn't change the existing Xcode-based release workflow. It would give
distribution packagers like nixpkgs a supported upstream path instead of requiring
downstream source patches and manual bundle repair.

Reference nixpkgs stuff:
[NixOS/nixpkgs#411190](https://github.com/NixOS/nixpkgs/issues/411190)
[NixOS/nixpkgs#498663](https://github.com/NixOS/nixpkgs/pull/498663)

I'm willing to work on this if folks are open to this.
 
Back
Top