<!--
{
  "availability" : [

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

# CXXSetting

A CXX-language build setting.

```
struct CXXSetting
```

## Topics

### Configuring CXX Settings

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

Defines a value for a macro.

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

Provides a header search path relative to the target’s directory.

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

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

### Type Methods

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

Disable a specific C++ compiler warning group.

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

Enable a specific C++ compiler warning group.

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

Controls how all C++ compiler warnings are treated during compilation.

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

Controls how a specific C++ compiler warning is treated during compilation.

## Relationships

### Conforms To

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

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

---

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)