Hi Tobias -
On Apr 29, 2007, at 8:34 PM, Tobias Ford wrote:
these are appearing all of the time in our projects and are really annoying. Chris Espinosa said that these were because some of the paths had special characters or spaces in an earlier comment regarding the same issue. This isn't the case in our projects.
This is an example path that is under a target:
"$(SRCROOT)/../../../../../../external/library/xercesc/lib/macosx"
no spaces, no special characters.
What Chris said is correct but not complete: Xcode performs this transformation on any build setting which contains special character or spaces, OR a reference to any other build setting, since other build settings COULD contain special characters or spaces. And $(SRCROOT) qualifies - indeed, if you check your project out into a directory which is on a separate volume whose name contains a space, or where any ancestor directory contains a space, then $(SRCROOT) will evaluate to a path containing a space, and it must be quoted in order to build your project.
Without going into the tedious details, the reason this approach was taken boils down to trying to meet conflicting-but-mandatory requirements of correctness and backwards-compatibility-of-project-file-formats.
This change in the project happens a lot for me. This even happens when opening a read only project who's contents were fine during the previous checkin. I open it and close it without making any changes, and then it has all of these SEARCH_PATHS_QUOTED changes in the file.
This is really annoying because it totally borks the perforce diffs.
What's going on with this and what do I need to do so that this doesn't happen anymore.
There is no way to turn this off, short of refactoring your build settings so that they don't meet the criteria described above (which may not be possible in all cases).
My recommendation is that you instead update your project file in your source repository to contain these changes.