I'm just now starting to upgrade all of our projects to Xcode 2.1 but I'm getting very confused as to how the Build Configurations work vs. Build Styles. (And yes I did RTFM, but I still haven't had that blinding flash of the obvious.)
What I'd like to do is create some Configuration Settings Files that can be shared with most of our projects. I'd like to have Debug, Profiler and Release config files that would be the base of each configuration. The confusion I'm having is with how Xcode upgraded my projects to 2.1 as well as figuring out when the settings from the config files are actually being applied.
OK, so I just upgraded a project. I open the project info window and look at the Build Configurations. To me this is most similar to opening the project's Build Styles in Xcode 2.0. The problem is when I want to look at the Custom Settings for each of my configurations (which used to be Build Styles) there are none! Where did they go and why?
Then I open my target's info window and look at the build configurations. When I look at the Custom Settings, say for the Debug config, it looks like the 2.0 -> 2.1 upgrade took my Build Styles and merged them with my target's settings. Why the hell would it do that? What's the point? I thought the point of Build Configurations and Build Styles before them was to keep some common settings separated from the target's settings. Anyway, now I don't know what to do.
Now, I've tried to make some .xcconfig files to be the base of each of my configurations. The problem is that I don't know how to use them or where to apply them. Do I go to the Project's info window and make the Debug config there based on the .xcconfig file? Or do I go to the Target's info window and make the Debug config there based on the .xcconfig file?
Also, how do I know that the settings from the .xcconfig file are being applied? I don't SEE them anywhere. I used to be able to select the Custom Settings from the Collection popup menu and there I would see what custom settings I had applied. This is not the case when a configuration is based on a .xcconfig file. The only way that I can SEE that the settings are being applied is to select "All Settings" from the popup menu. But then I have to scroll through the hundreds of settings just to see if the few settings in my .xcconfig file have been applied. Why not have an "Inherited Settings" menu item in the popup menu? There really needs to be an easier way to see how build settings are inherited from .xcconfig files and the project's configurations.
OK, now that I'm done ranting for a bit maybe someone can help me to do what I need. Here's what I want to do:
I want three .xcconfig files that will be shared by multiple projects. These files will have the base settings that I need for my build configurations. The only thing that will need to be different for each build configuration of a target is the name of the Prefix Header. All of the other settings for a target will be the same and should be shared among all build configurations.
So that's what I want, but how do I need to modify my upgraded project to get this?
Do I make each of the project's build configurations be based on my .xcconfig files? Then what do I do for the build configuration settings of my Target? Can I just delete all of the custom settings and then set the Prefix Header? Or will deleting all of the custom settings mess up the settings that need to be the same for all configurations?
If you've read this far then thanks, and more thanks to you if you can help me to get Xcode to do what I want. _____________________________
Dave Thorup Software Engineer email@hidden
http://www.kuwan.net Defaults Manager - The premier editor for Mac OS X's User Defaults / Preferences database.
|