If I create a new application project, the build settings look something like this:
It claims to be using a build dir build/Debug-iphoneos
. I assume this is relative to the project directory? In reality, the project is compiled to the "derived data" directory, under ~/Library/Developer/Xcode/DerivedData/CryptoTest2-abc...
So what is going on here? Is this build setting simply ignored? What is the build setting that controls the output directory?
This build setting is actually relative to the Derived Data setting. You can change this setting if you go to Xcode > Preferences > Locations, and change the Derived Data directory setting to whatever suits your needs (Default, Relative or Custom).
You can also specify this on a per project-basis, if you specify an absolute path for that settings:
/build/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}
, then the project will be built into the folder build in the root folder.${SRCROOT}/
, effectively creating a build
folder at the root of your project/workspace.Settings that can be substitued in ${<setting>}
are called Build settings, and are set automatically by Xcode/xcodebuild whenever you start building your project. Apple maintains a list of the available build settings here:
http://help.apple.com/xcode/mac/8.0/#/itcaec37c2a6