org.gradle.language.nativeplatform

## Interface DependentSourceSet

- All Superinterfaces:
    Buildable, BuildableComponentSpec, ComponentSpec, LanguageSourceSet, ModelElement, Named
  All Known Subinterfaces:
    CppSourceSet, CSourceSet, ObjectiveCppSourceSet, ObjectiveCSourceSet

      @Incubating
      public interface DependentSourceSet
      extends LanguageSourceSet

  A source set that depends on one or more `NativeDependencySet`s to be built.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<?>` | `getLibs()` The libraries that this source set requires.
    `String` | `getPreCompiledHeader()` Returns the pre-compiled header configured for this source set.
    `void` | `lib(Object library)` Adds a library that this source set requires.
    `void` | `setPreCompiledHeader(String header)` Sets the pre-compiled header to be used when compiling sources in this source set.

    - ### Methods inherited from interface org.gradle.language.base.LanguageSourceSet

      `generatedBy, getParentName, getSource`

    - ### Methods inherited from interface org.gradle.api.BuildableComponentSpec

      `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

    - ### Methods inherited from interface org.gradle.api.Buildable

      `getBuildDependencies`

    - ### Methods inherited from interface org.gradle.platform.base.ComponentSpec

      `getProjectPath`

    - ### Methods inherited from interface org.gradle.model.ModelElement

      `getDisplayName, getName`

- - ### Method Detail

    - #### getLibs

          Collection<?> getLibs()

      The libraries that this source set requires.

    - #### lib

          void lib(Object library)

      Adds a library that this source set requires. This method accepts the following types:
      - A `NativeLibrarySpec`
      - A `NativeDependencySet`
      - A `LanguageSourceSet`
      - A `Map` containing the library selector.
      The Map notation supports the following String attributes:
      - project: the path to the project containing the library (optional, defaults to current project)
      - library: the name of the library (required)
      - linkage: the library linkage required ['shared'/'static'] (optional, defaults to 'shared')

    - #### setPreCompiledHeader

          void setPreCompiledHeader(String header)

      Sets the pre-compiled header to be used when compiling sources in this source set.
      Parameters:
        `header` - the header to precompile

    - #### getPreCompiledHeader

          String getPreCompiledHeader()

      Returns the pre-compiled header configured for this source set.
      Returns:
        the pre-compiled header