I was wondering if there was no alternative way of activating/deactivating that (without rebuilding the whole project), for instance by providing the wrapper with a list of properties…
Altering a macro invalidates all compiled object files which depend on the header or build command line options. Editing a property definition (like wrapperOptions.add(gestalt_iscacheable, true) just invalidates the one file which defines the property.
As much as I need in order to debug issues at this level.
Indeed, that’s a good idea, at least in order to debug issues; however:
For other macros which are shared amongst multiple files, that’s not handy,
I prefer putting such config in source code instead of project, to ease porting between IDEs/OSs,
If the setting is in a plug-in specific source code, having something else than a macro is easing towards the creation of a Juce static library (shared between multiple plug-ins).