I have an app that doesn’t connect to the internet or use networking in any way. The binary requires libcurl to be installed. Is that really necessary? Why? Does it do something that every app needs?
In general how can I reduce the dependencies and reduce the number of juce modules required so my builds don’t require anything they aren’t actully using, either for compiling or for running.
For example why is include_juce_cryptography in my JuceLibraryCode folder? I can’t imagine what it would be used for.
On linux, we require libcurl as juce_core depends on it (we’ve deprecated the non-libcurl linux code some while ago). As every JUCE app needs at least juce_core your app will always depend on libcurl on Linux.
However, if you add the linker flag -Wl,--as-needed then you will only need libcurl when building your JUCE app (install the libcurl-dev packages) but your JUCE app will not depend on it at runtime if you do not use any networking functions.
OK, I naively assume that anything unused would by default not be included, I will try this.
so far all my problems are solved by reverting the whole project to Juce 4 - but the 2 versions don’t play nice together so Juce 5 is in danger of being put aside entirely.