# 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 Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  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 Buildable

  `getBuildDependencies`

  ### Methods inherited from interface BuildableComponentSpec

  `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

  ### Methods inherited from interface ComponentSpec

  `getProjectPath`

  ### Methods inherited from interface LanguageSourceSet

  `generatedBy, getParentName, getSource`

  ### Methods inherited from interface ModelElement

  `getDisplayName, getName`

- ## Method Details

  - ### 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