In Juce 4.2 the #define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED was introduced.
I understand that it notifies Juce that there was a global header included.
So when updating to 4.2, I put his in my AppConfig.h.
I saw that it was done the same in the 4.2 examples.
Still I got the compiler errors (in VS2015).
A quick fix was putting the #define in preprocessor definitions.
After some time I figured out that opening and saving the project in the Projucer fixes the issue.
But reviewing the changes in source and build files did not clarify what had happened.
Also found nothing like e.g. changed include dir order.
What else “magic” could Projucer do besides adding the #define in appconfig.h?
Or was I just blind?
Still I’m curious to understand it:
What else does Projucer do but adding the #define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED to AppConfig.h?
I also can’t find the JUCE_APP_CONFIG_HEADER being used anywhere…
JUCE_APP_CONFIG_HEADER is for people who want to define their own global header file. If you look in juce_TargetPlatform.h, you’ll see that if it’s defined, then that file will be included by all the JUCE modules. That means that if you’re not using the projucer, then you can just set it as a global macro, and add all the module cpp files directly to your project to compile them.
The projucer will put it in AppConfig.h for you. There’s no need to ever know about its existence unless you’re using your own custom build system.