Alex
Alex

Reputation: 5119

Xcode 4 target build setting "Skip install". What is it?

The tile basically says it all.

I'm developing a mac app which has the normal app target, but also has two more command-line tool targets whose products are copied to the app when building. I remember seeing somewhere that the "Skip install" was important in these cases, but I remember nothing of what I read, so this might be incorrect.

Anyway, I just wanted to know what this option affects.

Upvotes: 29

Views: 17606

Answers (3)

Jeremy Huddleston Sequoia
Jeremy Huddleston Sequoia

Reputation: 23651

When you set SKIP_INSTALL=NO (which is the default), the build target will be installed to $(DSTROOT)$(INSTALL_PATH) during the build phase. Setting SKIP_INSTALL=YES causes the target to be built but not installed.

Setting SKIP_INSTALL=YES can be useful for static archives (libsomething.a) that will be later linked into other targets or bundles that will be installed by another target's copy-files build phase.

Upvotes: 14

yoAlex5
yoAlex5

Reputation: 34451

Skip Install (SKIP_INSTALL)

In case with archive

xcodebuild archive SKIP_INSTALL=NO

NO - allows to put data into <some_path>/<some_name>.xcarchive/Products or install a framework in archive

Upvotes: 0

hagi
hagi

Reputation: 11823

I believe this only matters when you're developing for the App Store. If you archive your app target and this includes building other targets (command line tools, static libraries, ...), all the targets' products are copied into the archive, unless SKIP_INSTALL is set to YES.

You can verify this: Archive your application, find the archive in the Organizer, Option-Click --> "Show in Finder", go into the archive (Option-Click --> "Show Package Contents"), and in /Products you will find multiple files/folders. However, App Store builds only allow one product within the Products directory. Xcode warns you about this if you "Validate" your archived app in the Organizer:

Skip Install not set for sub targets

Upvotes: 21

Related Questions