Package 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

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

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

      `getBuildDependencies`

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

      `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

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

      `getProjectPath`

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

      `generatedBy, getParentName, getSource`

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

      `getDisplayName, getName`

- - ### Method Detail

    - #### getLibs

          java.util.Collection<?> getLibs()

      The libraries that this source set requires.

    - #### lib

          void lib​(java.lang.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​(java.lang.String header)

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

    - #### getPreCompiledHeader

          java.lang.String getPreCompiledHeader()

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