- Qbs Manual
- Module xcode
- Qbs 1.6.0

# Module xcode

The `xcode` module contains properties and rules for Xcode-based development. This module provides the foundation for several other modules on Apple platforms, including the `cpp` and `ib` modules.

## General Properties

Property | Type | Since | Default | Description
--- | --- | --- | --- | ---
developerPath | path | 1.5 | `"/Applications/Xcode.app/Contents/Developer"` | Developer directory of the Xcode installation. By default this is set to the developer directory of the Xcode installation at its default location in /Applications. Corresponds to the `DEVELOPER_DIR` environment variable.
sdk | string | 1.5 | determined by `qbs.targetOS` | Version of the Xcode SDK used to build products. This can be specified as a full canonical SDK name (i.e. `"macosx10.10"`), a platform version number (i.e. `"10.10"`), or a platform identifier (i.e. `"macosx"`) in which case the latest SDK available for that platform will be used. The default is the latest SDK available in the Xcode installation for the current platform.
targetDevices | stringList | 1.5 | determined by `qbs.targetOS` | List of the Apple devices targeted by this product. For macOS, watchOS, and tvOS, this should always be "mac", "watch", and "tv", respectively. For iOS, this can be one or both of "iphone" and "ipad". The default is the list of all device types supported by the current platform.

## Read-only Properties

Property | Type | Since | Default | Description
--- | --- | --- | --- | ---
sdkName | string | 1.5 | determined by `xcode.sdk` | Canonical name of the SDK used to build products. For example, macosx10.9.
sdkVersion | string | 1.5 | determined by `xcode.sdk` | Version number of the SDK used to build products. For example, 10.9.
latestSdkName | string | 1.5 | determined by `xcode.developerPath` | Canonical name of the latest SDK available in the Xcode installation. For example, macosx10.10.
latestSdkVersion | string | 1.5 | determined by `xcode.developerPath` | Version number of the latest SDK available in the Xcode installation. For example, 10.10.
availableSdkNames | stringList | 1.5 | determined by `xcode.developerPath` | Canonical names of all SDKs available in the Xcode installation for the current platform. For example, [macosx10.9, macosx10.10].
availableSdkVersions | stringList | 1.5 | determined by `xcode.developerPath` | Version numbers of all SDK available in the Xcode installation for the current platform. For example, [10.9, 10.10].
platformPath | path | 1.5 | determined by `xcode.developerPath` | Path of the platform directory containing `xcode.sdkPath`.
sdkPath | path | 1.5 | determined by `xcode.developerPath` and `xcode.sdk` | Path of the SDK used to build products. Equivalent to `cpp.sysroot`.