# NativeLibrarySpec

API Documentation: | `NativeLibrarySpec`

Note: This class is incubating and may change in a future version of Gradle.

Definition of a native library component that is to be built by Gradle.

### Properties

Property | Description
`api` | Incubating Converts this library to a native library requirement that uses the api library linkage.
`baseName` | Incubating The name that is used to construct the output file names when building this component.
`binaries` | Incubating The binaries that are built for this component. You can use this to configure the binaries for this component.
`displayName` | Incubating Returns a human-consumable display name for this component.
`shared` | Incubating Converts this library to a native library requirement that uses the shared library variant. This is the default.
`source` | Deprecated Incubating The source sets that are used to build this component.
`static` | Incubating Converts this library to a native library requirement that uses the static library variant.

### Methods

Method | Description
`targetBuildTypes(buildTypeSelectors)` | Incubating Specifies the names of one or more `BuildType`s that this component should be built for.
`targetFlavors(flavorSelectors)` | Incubating Specifies the names of one or more `Flavor`s that this component should be built for.
`targetPlatform(targetPlatform)` | Incubating Specifies a platform that this component should be built be for.

### Script blocks

No script blocks

### Property details

#### `NativeLibraryRequirement` `api` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Converts this library to a native library requirement that uses the api library linkage.

#### `String` `baseName`

Note: This property is incubating and may change in a future version of Gradle.

The name that is used to construct the output file names when building this component.

#### ``ModelMap`<`BinarySpec`>` `binaries` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The binaries that are built for this component. You can use this to configure the binaries for this component.

#### `String` `displayName` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Returns a human-consumable display name for this component.

#### `NativeLibraryRequirement` `shared` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Converts this library to a native library requirement that uses the shared library variant. This is the default.

#### ``ModelMap`<`LanguageSourceSet`>` `source` (read-only)

Note: This property is deprecated and will be removed in the next major version of Gradle.

Note: This property is incubating and may change in a future version of Gradle.

The source sets that are used to build this component.

#### `NativeLibraryRequirement` `static` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

Converts this library to a native library requirement that uses the static library variant.

### Method details

#### `void` `targetBuildTypes`(``String`...` buildTypeSelectors)

Note: This method is incubating and may change in a future version of Gradle.

Specifies the names of one or more `BuildType`s that this component should be built for.

#### `void` `targetFlavors`(``String`...` flavorSelectors)

Note: This method is incubating and may change in a future version of Gradle.

Specifies the names of one or more `Flavor`s that this component should be built for.

#### `void` `targetPlatform`(`String` targetPlatform)

Note: This method is incubating and may change in a future version of Gradle.

Specifies a platform that this component should be built be for.