Structure

BuildSettingCondition

A condition that limits the application of a build setting.

Declaration

struct BuildSettingCondition

Overview

By default, build settings are applicable for all platforms and build configurations. Use the .when modifier to define a build setting for a specific condition. Invalid usage of .when emits an error during manifest parsing. For example, it’s invalid to specify a .when condition with both parameters as nil.

The following example shows how to use build setting conditions with various APIs:

...
.target(
    name: "MyTool",
    dependencies: ["Utility"],
    cSettings: [
        .headerSearchPath("path/relative/to/my/target"),
        .define("DISABLE_SOMETHING", .when(platforms: [.iOS], configuration: .release)),
    ],
    swiftSettings: [
        .define("ENABLE_SOMETHING", .when(configuration: .release)),
    ],
    linkerSettings: [
        .linkLibrary("openssl", .when(platforms: [.linux])),
    ]
),

Relationships

Conforms To

See Also

Configuring the Target

struct BuildConfiguration

The build configuration such as debug or release..

struct CSetting

A C-language build setting.

struct CXXSetting

A CXX-language build setting.

struct SwiftSetting

A Swift language build setting.

struct LinkerSetting

A linker build setting.