Introjucer option for Xcode project roots


Would it be possible to add an option to the Introjucer Xcode project to set the roots (available within Xcode from Project->Edit Project Settings->Configure Roots & SCM…). Also it would be useful to either set or default to an Xcode 3.2 compatible format as this allows multiple roots (3.1 does not).

The reason for asking is that I use Xcode to manage my subversion repository and at the moment every time I add a new file or re-load the project from the Introjucer these settings get wiped and I have to manually set them in order to access the repository again.


Doesn’t that information live in your user-specific options file? It seems a bit odd that it would be in the actual project file??


I don’t think so, isn’t “project.pbxproj” within the “projectName.xcodeproj” package the file that the Introjucer generates?

[quote=“From project.pbxproj”]/* Begin PBXProject section /
5394F52DFD56E707B0B35BFC /
Project object / = {
isa = PBXProject;
buildConfigurationList = 80B1CFE6663A737A24FE0D81 /
Build configuration list for PBXProject “Network Audio Streamer” /;
compatibilityVersion = “Xcode 3.2”;
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
mainGroup = D8C159067DAFC8BFE4ABBC4F /
Source /;
projectDirPath = “”;
projectRoots = (
targets = (
68EA63D40C40C90645BE36A5 /
Network Audio Streamer /,
End PBXProject section */[/quote]

The repositories associated with the roots are held in the user-specific file but these don’t match up if the roots are over-written.
When I re-save the project the above settings get reset to:

[quote] compatibilityVersion = “Xcode 3.1”;

projectRoot = “”;


I think its line 1040 of jucer_ProjectExport_XCode.h that needs changing:

[quote] v->setProperty (“compatibilityVersion”, “Xcode 3.1”, 0);

Does anyone still use Xcode 3.1? I thought 10.5 dropped support for that?

Thinking about it this may not be enough because you hard code the project root as well so ‘I think’ you would still need to go into “Configure Roots & SCM…” to get Xcode to update to what is held in the user project file. I will investigate this further when I have some more time.