monocasual / giada

Your Hardcore Loop Machine.
https://www.giadamusic.com
GNU General Public License v3.0
1.67k stars 98 forks source link

Allow using system version of JUCE #526

Open dvzrv opened 2 years ago

dvzrv commented 2 years ago

Is your feature request related to a problem? Please describe. JUCE is shipped as a system package on many downstream distributions. As it offers cmake integration, it can be found and used like any other dependency.

Describe the solution you'd like Either automatically detect system wide JUCE or optionally offer to detect it on request (e.g. using a cmake option such as USE_SYSTEM_JUCE, that defaults to OFF).

Describe alternatives you've considered Patching everything is painful.

Additional context Upstream JUCE has added proper cmake integration for all kinds of things and it might be way easier directly using their stuff. E.g. stochas uses functions that JUCE exposes via their cmake integration: https://github.com/surge-synthesizer/stochas/blob/87a8e064d71e49140cddbc74b62b573a9fd06e1e/CMakeLists.txt

gvnnz commented 2 years ago

Good point. Currently we are using JUCE in a pretty unorthodox way, that is: modules are included "by hand" (see here) without using the helper functions provided by JUCE and its CMake integration.

gvnnz commented 5 months ago

We have been using JUCE's CMake integration for a while now, so adding the ability to use the system version should be easy. However I'm not 100% sure how to fix the add_subdirectory step. @dvzrv got any clues?