<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "PackageDescription",
  "identifier" : "/documentation/PackageDescription/SwiftSetting",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "PackageDescription"
    ],
    "preciseIdentifier" : "s:18PackageDescription12SwiftSettingV"
  },
  "title" : "SwiftSetting"
}
-->

# SwiftSetting

A Swift language build setting.

```
struct SwiftSetting
```

## Topics

### Configuring Swift Settings

[`static func define(String, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/define(_:_:))

Defines a compilation condition.

[`static func unsafeFlags([String], BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/unsafeFlags(_:_:))

Set unsafe flags to pass arbitrary command-line flags to the
corresponding build tool.

[`static func strictMemorySafety(BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/strictMemorySafety(_:))

Enable strict memory safety checking.

[`static func swiftLanguageMode(SwiftLanguageMode, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/swiftLanguageMode(_:_:))

Defines a `-language-mode` to pass  to the
corresponding build tool.

[`static func defaultIsolation(MainActor.Type?, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/defaultIsolation(_:_:))

Set the default isolation to the given global actor type.

[`static func enableExperimentalFeature(String, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/enableExperimentalFeature(_:_:))

Enable an experimental feature with the given name.

[`static func enableUpcomingFeature(String, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/enableUpcomingFeature(_:_:))

Enable an upcoming feature with the given name.

[`static func interoperabilityMode(SwiftSetting.InteroperabilityMode, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/interoperabilityMode(_:_:))

Enables Swift interoperability with a given language.

[`enum InteroperabilityMode`](/documentation/PackageDescription/SwiftSetting/InteroperabilityMode)

The interoperability mode

[`static func swiftLanguageVersion(SwiftVersion, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/swiftLanguageVersion(_:_:))

Defines a `-swift-version` to pass  to the
corresponding build tool.

### Type Methods

[`static func treatAllWarnings(as: WarningLevel, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/treatAllWarnings(as:_:))

Controls how all Swift compiler warnings are treated during compilation.

[`static func treatWarning(String, as: WarningLevel, BuildSettingCondition?) -> SwiftSetting`](/documentation/PackageDescription/SwiftSetting/treatWarning(_:as:_:))

Controls how a specific Swift compiler warning is treated during compilation.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)