I am using a workspace where I have a main app project and then a static library project which is used by the main app. I want static library project to spit out libX.a into
Another way to do this is to edit Build Locations > Per-configuration Build Products Path in your target's Build Settings.
Here's a solution you can check into source control, and which I've verified works with Xcode 6.2.
Reading Apple's xcconfig format reference, it would seem that simply overriding OBJROOT and SYMROOT in the .xcconfig file would do the trick - but in my testing on Xcode 6.2, changing them has no effect. You have to change those three specific environment variables listed above.
This is what I put in an Xcode 6.2 .xcconfig file so intermediate files and executables go into their "traditional" locations:
// Intermediate build files go here
PROJECT_TEMP_DIR = $(SRCROOT)/build/$(PROJECT_NAME).build
// Build-related files for the active build configuration go here
CONFIGURATION_BUILD_DIR = $(SRCROOT)/build/$CONFIGURATION
// The final product executables and other build products go here
BUILT_PRODUCTS_DIR = $(SRCROOT)/build/$CONFIGURATION
Don't forget to add the xcconfig file to a Deployment Target -> Configurations to make it work (Click on the Project, Under Info, in the Deployment Target Section under Configurations
According to @gp-coder, the scenario will be following for xcode 9.* Follow the step as given in the picture
And Do Done
Thats all, Thanks
Updated instructions for Xcode 5 up to 6.3.
File
-> Project settings
Advanced
buttonDone
, then Done
once more.And you are done!
If you want to change build path of your project you can change using following steps.
1) Choose Xcode > Preferences, and click Locations.
2) Click the Advanced button for the Derived Data setting.
3) Select a build location from the available options, and click Done.
ex. if you choose 'Custom' from Build Location option your build will be generate at '/Users/XYZ/Desktop/Build/Products' Location
In Xcode 8.x I set the derivedData directory with a command line option in a .sh file that builds the project. Developers can build into their user directories (default Xcode preference), while the official build creates the build in the traditional area:
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
xcodebuild -workspace 'my project.xcworkspace' -scheme 'my project' -configuration Release -derivedDataPath '$SCRIPT_DIR/build'