Hi - We’re just updating our cmake support, so we decided to use the default juce cmake implementation, and we came across something slightly strange:

As part of the Juce cmake files, you build a juceaide application. We dont need this so we decided to disabled it. We set the JUCE_BUILD_HELPER_TOOLS flag to OFF, thinking that this would do what we wanted… Except it doesnt - what it actually does, is turns the flag back on and recalls cmake, then builds an application as part of configure…

So, this leads to a couple of questions -
1.) Was this what you intended? The behaviour seems strange!
2.) How do we actually disable the juceaide application, because we dont need this at all


Are you absolutely sure you don’t need it? It’s used to generate BinaryData files, the AU preprocessor definitions header, entitlements files, plists, the JuceHeader, Windows resource files, and icons. Most JUCE projects require juceaide at some point, which is why there’s currently no way to disable it.

Yes, this is intentional. When building iOS projects, we need to generate assets which will be included in the built product. The helper tool which creates these assets can’t be built with the same settings as the rest of the project, because it needs to run on the host machine. If we were to wait until build time to build juceaide, it would end up as an iOS app rather than a mac app, and we wouldn’t be able to run it to generate the required assets.

At the moment we don’t support this use-case. If you really don’t need juceaide, we could look at adding a flag which will disable it - I’d be quite surprised if it’s not used anywhere, though. To ensure that you really don’t need juceaide, consider adding a noisy logging statement at the top of main in extras/Build/juceaide/Main.cpp and then running a full build with juceaide included. If you don’t see the logging output anywhere, that might indicate that it’s safe to avoid including juceaide in the build.

1 Like