pluginval icon indicating copy to clipboard operation
pluginval copied to clipboard

Pluginval as dependency

Open sudara opened this issue 1 year ago • 3 comments

Opening as a draft for feedback and iteration.

Addresses #137

This improves support for pluginval as a CMake sub-project in a JUCE project.

  • Moves JUCE from submodule to CPM dependency on 8.0.4
  • Only adds JUCE when top level
  • Only sets deployment target when top level
  • Only generate docs when top level
  • Removes PLUGINVAL_FETCH_JUCE option (no longer needed, superseded by not being top level)

Open Questions:

  • Do we need to enforce minimum JUCE version for this use case?

Remaining TODO:

  • [ ] Get example plugins building in CI

Note to Dave and other maintainers:

With CPM, it's always a good idea to have the environment variable CPM_SOURCE_CACHE set — this will let you do offline builds vs. hitting the network on reconfigure. We can also add this optimization in CI too.

Add the following to .bashrc or .zshrc:

export CPM_SOURCE_CACHE=$HOME/.cache/CPM

The submodule is gone, so you can optionally clean up your .git/config folder, you can run:

rm -rf .git/modules/modules/juce 

sudara avatar Dec 04 '24 17:12 sudara

Am I supposed to be reviewing or merging this? I like the feature set but it seems to have not changed much in the last year? Is it stable enough to go in?

You might notice I switched to CPM for a few other dependancies on develop. Can this branch be pulled in line with that?

drowaudio avatar Dec 01 '25 20:12 drowaudio

@drowaudio I've been using this branch for a year as a dependency of my synth but never got the example plugins running in CI. I'll need to get that going and resolve recent conflicts before it's mergable.

sudara avatar Dec 01 '25 20:12 sudara

Ah ok. Poke me if/when you get to that.

I might switch to juce via CPM at some point soon anyway...

drowaudio avatar Dec 01 '25 20:12 drowaudio