JUCE6 projucer silently changing cppLanguageStandard in old projects

Our .jucer has seen a fair few versions of JUCE and had
cppLanguageStandard="17" in the main JUCERPROJECT tag.

But also a cppLanguageStandard="c++14" attribute lurking in:
/JUCERPROJECT/EXPORTFORMATS/XCODE_MAC/CONFIGURATION/

e.g.:
<CONFIGURATION name="Debug" osxCompatibility="10.9 SDK" isDebug="1" optimisation="1" targetName="Loopcloud" cppLibType="libc++" cppLanguageStandard="c++14" etc../>

This latter tag does not show anywhere in the Projucer UI, so we were unaware of it.

This caused projucer to silently change the main C++ version of our project to c++14 whenever it was opened.

Would be nice if Project::setCppVersionFromOldExporterSettings() could show a warning when it does this.

1 Like

Thanks for the report. This has been fixed on the juce6 branch now in de1ce15 - it’ll only use the old C++ setting in the exporters if the project C++ standard hasn’t been set.

1 Like