Skip to content

Conversation

FtZPetruska
Copy link
Contributor

This PR adds a Brewfile at the top of the repository to handle Homebrew dependencies more conveniently.

This has the advantage of:

  • Having all the macOS dependencies listed in a single location, instead of having it duplicated in the build guide and CI.
  • Installing everything in a single command without listing every packages (brew bundle).
  • For CI, this fixes warnings about trying to install the dependencies already pre-installed on the runner.

I have also updated the macOS build guide, so it recommends brew bundle to install dependencies. Also took the opportunity to update the option name since ENABLE_LTO was removed, and to recommend using cpack to create a package instead of manually baking a release.

This lists all the homebrew packages needed to build the project, and
lets users install all of them with a single command: `brew bundle`.
- Install dependencies using the brewfile
- Use `CMAKE_INTERPROCEDURAL_OPTIMIZATION` instead of `ENABLE_LTO`
- Use CPack instead of manually generating the package with dylibbundler
- Add system-wide install instructrions
Copy link
Collaborator

@Pedro-Beirao Pedro-Beirao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All very good thank you!
I didnt even know brew bundle was a thing. Never seen any other project using it.

@FtZPetruska
Copy link
Contributor Author

I didnt even know brew bundle was a thing. Never seen any other project using it.

I only stumbled upon it recently. I saw projects such as vorbis or opusfile use it, read about it and thought it would be a nice fit to handle macOS dependencies.

@Pedro-Beirao Pedro-Beirao merged commit 8ed88e8 into kraflab:master Aug 13, 2025
5 checks passed
@FtZPetruska FtZPetruska deleted the brewfile branch August 13, 2025 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants