JUCE package in vcpkg

What happened to “Inclusion of the JUCE framework in package managers like vcpkg…” (from Announcing JUCE 6 | JUCE)?

3 Likes

Bumping this, is it still planned or…?

+1

We had planned to do this originally, but it ended up looking a bit difficult to keep everything up to date in all package managers. In the case of vcpkg, I think we would need to submit a PR to the vcpkg repo on each major JUCE version, so there would be a bit of a delay between releases becoming available on our github, and availability in package managers. This might be a bit of a problem in cases where we need to add hotfixes to master - ideally, we’d like users to be able to use these changes immediately.

We also encourage users to use our develop branch rather than the master branch during development. At least when I last checked, the process for using a custom branch with vcpkg was quite involved.

I also investigated the possibility of adding a Conan package for JUCE, but also ran into difficulties there. This was a while ago, so I don’t remember the details exactly, but I think ConanCenter had specific requirements on the format of contributed packages. IIRC, ConanCenter required all of the package contents to be listed in the package manifest (i.e. not a CMake file), but JUCE’s ‘module’ target type wasn’t supported in this manifest.

Since announcing JUCE 6, the CPM package manager has become a bit more popular. As I understand it, this package manager allows you to depend on arbitrary CMake projects, without requiring the maintainers of those projects to submit updates to any central repositories. I’ve heard of a few people using this approach with JUCE - perhaps it would work for you too.

We might take another look at adding a package to vcpkg if there’s sufficient demand. However, at the moment, I think grabbing the sources from github (maybe via CPM) is likely to lead to a better user experience.

5 Likes