The basic issue
I need to have values for buildSettings in my XCode project that are fairly different from the default set provided by the Introjucer.
The settings I need to turn on are disjoint from the ones automatically provided by the Introjucer - I simply need to add more settings, not override the Introjucer’s.
Most of these are GCC settings which you can fudge through the Introjucer’s GCC flags - but some can’t be done that way.
Right now, I have simply and brutally edited jucer_ProjectExport_XCode.h to hardcode in my settings - how much easier open source makes my life! - and this isn’t a terrible solution for me but I can imagine that a lot of people might have this issue.
We have a similiar issue in Windows
I haven’t really looked at that, someone else does the Windows builds, but the same workflow issue happens - we want to make changes in the generated Visual Studio file and “backporting” these changes to the .jucer file is either difficult or impossible.
My dream feature
This isn’t too impossible a dream - it’s that you could “import changes” into the Jucer from a file that was once the output of the current .jucer project.
So I’d create an Introjucer, generate projects in XCode or Visual Studio or…, open these projects and make changes, and then bring at least some of these changes back into the introjucer!
I looked at how to do this with XCode, and it frankly didn’t look too bad at all. Reading the XML file is no big deal, and an awful lot could be done simply by doing a comparison between “buildSettings” list before and after, and adding a “buildSettings delta” to the Juce project, and that’s very little code.
The next major class of changes you’d want to be able to import would be adding and removing files. That’s perhaps a little more code, because you need to deal with adding and removing source code and frameworks.
The nice part is that once you have the import functionality, you can roll this out incrementally and it’d still be really useful - even just the buildSettings solves a general problem I’m sure a lot of developers have.