Re: OBJROOT and SYMROOT in Xcode 4?
Re: OBJROOT and SYMROOT in Xcode 4?
- Subject: Re: OBJROOT and SYMROOT in Xcode 4?
- From: Quincey Morris <email@hidden>
- Date: Mon, 04 Apr 2011 00:49:33 -0700
On Apr 4, 2011, at 00:16, Kai BrĂ¼ning wrote:
> for me newly created Xcode 4 projects show the Xcode 3 system default for OBJROOT and SYMROOT in the Build Settings panel, namely the relative path 'build'. But Xcode 4 no longer places its products in this folder alongside the project file.
>
> Tested with Xcode 4.0.1, Locations in preferences all set to default.
>
> The question is: how can I find the Xcode 4 build locations using build settings?
With the default preferences, the values of location macros (e.g. SYMROOT) are correct -- that is, have the paths Xcode is actually using. What's ignored are the build settings that appear to define the macros. Think of them as Xcode 3-specific build settings that have no meaning to Xcode 4 (unless you change the preferences).
It's a little bit confusing, because there's nothing explicit to tell you which build settings are being ignored, but I guess it's basically everything that would end up in the build folder in Xcode 3.
It's a little more confusing (well, it was to me) when considering the installation/deployment locations and settings. That's partly because the behavior of those was always kind of non-obvious (well, at least to me), and Xcode 4 *selectively* ignores them. For example, 'Archive' doesn't put the all of the build products in the same place as 'Build for Archive', AFAICT. It's also possible that 'Build for Archive' and 'Build for Profiling' and 'Profile', operations that by default all use the Release configuration, don't all put their build products in the same place. (At least, each of them seems to rebuild stuff that you'd think ought to have already been built for the configuration, and it's not clear why. Maybe Xcode 4 is overriding a unique set of build settings in each case, or maybe the rebuilding is a bug.)
The concept seems to be that intermediate and build products are more "private" to Xcode in Xcode 4 (unless you change the preferences). In the past, I would have gone to '<project>/Build/Release' to find my built app, but now I do an Archive and a Share on the archive to get the built app -- '<derived data>/Build/Product/Release' doesn't necessarily contain the final app with all of its pieces in place***.
I realize this all sounds awful, but in practice the complexity is ignorable. It's not that hard to go looking for build products you're interested in.
:)
*** Specifically: Embedded private frameworks aren't copied into the app bundle until you do an 'Archive'. I couldn't find any other operation -- not even 'Build for Archive' that copied them there.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden