aggregate targets and build configurations
aggregate targets and build configurations
- Subject: aggregate targets and build configurations
- From: Tobias Ford <email@hidden>
- Date: Mon, 30 Jun 2008 00:38:48 -0500
I tried posting this a couple of weeks ago after singing back up for
the list. It didn't go through due to the subscription being so new.
If it did, and I missed it, sorry for the double post.
I have a suite of application projects that use several shared static
libraries. The application projects reference the library projects
through xcode project dependencies. Release libraries are using
libXXX.a for the product and debug libraries are using libXXX_d.a for
the product. Each application project configuration works correctly
detecting the correct library for debug and release when linking.
I then have a root project that consists of embedded project
references for all of the actual application projects. This project
only has aggregate targets; one for each application and one for build
all. This project has both of the default Release and Debug
configurations. When I build any of the Release targets in this
project, the embedded target application compiles for the correct
configuration but then attempts to link using the incorrect debug
libXXX_d.a libraries. If I open each embedded application target and
then close it, the application will link correctly against it's
dependent projects/libraries.
This is the project layout... Building Release of the PackFileTool
from gsg.xcodeproj will attempt to link with libsharedEngine_d.a
instead of the correct libsharedEngine.a. Building Release of the
PackFileTool from PackFileTool.xcodeproj will link correctly with
libsharedEngine.a.
gsg.xcodeproj // root project
Client. xcodeproj // target project for application
PackFileTool.xcodeproj // target project for application
PackFileTool.xcodeproj // application project
sharedEngine.xcodeproj // dependent library project
File001.cpp
File002.cpp
File003.cpp
sharedEngine.xcodeproj // library project that builds both the
libsharedEngine.a and libsharedEngine_d.a static libs
File001.cpp
File002.cpp
File003.cpp
This is pretty much the same thing described in the list archive :
"Re: Setting up Cross Project Dependencies" @ http://lists.apple.com/archives/Xcode-users/2005/Jul/msg00199.html
by Mike Jackson
Hitting the "Build" button a 2nd time for the Aggregate target in the
"Second" project now links correctly. So if I switch to the "Release"
build configuration, the click build for the aggregate target Xcode
tries to link against the debug library in the "Release" folder. Which
it can not find because it is named slightly differently for the debug
versus the release build configurations. If I then just click the
"Build" button a second time the project is linked correctly. Is this
a bug by any chance?
The follow-up to this email is file a bug :) Anyone have any more
information or a work around that they would recommend? Worst case is
that I can have the Debug configuration not use the libXXX_d.a naming
format for the libraries, but I'd prefer to not do this.
Thanks in advance.
-------------------
Tobias Ford...
tobias1482 'at' mac.com
tford 'at' spacetimestudios.com
-------------------
_______________________________________________
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