Question regarding modules and AppConfig.h


#1

I’m using JUCE since several years but never used Projucer extensively.

Now, for a quick internal utility I decided to resort to it for bootstrapping all the IDE projects, but there is something that I find quite difficult to understand:

Projucer does create the files inside JuceLibraryCode, that correspond to the modules that I have included in the project.
For example:

juce_core.mm:

/*

    IMPORTANT! This file is auto-generated each time you save your
    project - if you alter its contents, your changes may be overwritten!

*/
#include "AppConfig.h"
#include <juce_core/juce_core.mm>

Why has it to be so convoluted, rather than adding to the IDE project the corresponding juce_core.mm file that is found inside the “modules” folder?

One may argue that by doing this additional step, it is possible to include the “AppConfig.h” file before the module for proper configuration, but then I remember that “AppConfig.h” was already intended to be included before any JUCE module, and that has been explicitly changed with the following commit:

So… can someone, maybe @jules as the author of the commit, explain the reason behind this “new” behavior?