Re: building my debug app against my debug framework, and my release app against my release framework
Re: building my debug app against my debug framework, and my release app against my release framework
- Subject: Re: building my debug app against my debug framework, and my release app against my release framework
- From: "John C. Daub" <email@hidden>
- Date: Tue, 20 Dec 2005 10:41:11 -0600
- Thread-topic: building my debug app against my debug framework, and my release app against my release framework
I've found something that's working for me.... but I'm not sure how good a
solution it is. Scroll down.
on 12/19/05 4:32 PM, John C. Daub at email@hidden wrote:
> I have a setup where I build a framework, then another couple of frameworks
> link against that framework, then I've got an app that links against all
> those frameworks, and some plugins the app loads which are also built
> against those frameworks.
>
> I'm finally able to upgrade a particular project from Xcode 1.5 to Xcode
> 2.2, and with the change from build styles to configurations, things broke
> because of how the built binaries are now output to individual configuration
> subfolders within the build directory (projects depending upon the previous
> framework projects can't find the framework headers, can't find the
> framework for linking, etc.). I know this is not a new issue, as scanning
> the mailing list archives show others have encountered this problem as well.
> Unfortunately, I've not been able to find an answer to this problem in the
> mailing list archives. Or at least, what messages I found from Xcode 2.0 and
> 2.1 postings was that there isn't a good solution to this problem.
>
> I'm wondering if this situation has been remedied in Xcode 2.2?
>
> I noticed a setting "Per-configuration Build Products Path", that defaults
> to $(BUILD_DIR)/$(CONFIGURATION). Would I be able to adequately resolve this
> problem by setting this in the framework projects to just $(BUILD_DIR)?
> Granted each time I build it'll blow away the previous version and so it'll
> have to rebuild each time I deal with a different configuration. But I'm
> wondering if this is an acceptable solution to this problem... if I do what
> I suggest above, if I'm going to have problems, etc..
>
> If there's no Xcode 2.2 solution and the above path setting tweak doesn't
> solve the problem... what is the solution to this issue?
All of my projects have 2 build configurations "Development" and
"Deployment". So, I figured I could key off that. What I did was any time I
needed to deal with a specific path, just put $(CONFIGURATION) in there. So
for instance, in my "framework include paths" I could go:
MyFramework/build/$(CONFIGURATION)
and it would find the correct framework, the headers, and all worked out ok.
One bummer was when I built the app, which had a Copy Files build phase to
copy my custom frameworks into the app's Contents/Frameworks/ directory. I
had to remove the frameworks from the Copy Files build phase and instead
create a Run Script phase and use pbxcp to move things there. That seems to
work, but the script will need some work to ensure the options I pass to
pbxcp handle all the project/target settings correctly.
Is this a fair solution? Am I risking problems by doing things this way?
The downsides I see are I have to have "Development" and "Deployment" build
configurations in every project, but that's not too bad a deal. And that I
have to maintain the copying of the frameworks manually (especially if the
location or functionality of pbxcp changes again, trying to keep my script
in sync with what a Copy Files phase would do). But I don't see much of a
around this.
--
John C. Daub }:-)>=
<mailto:email@hidden> <http://www.hsoi.com/>
Peace on the Earth, goodwill to men.
_______________________________________________
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