org.gradle.language.cpp

## Interface CppLibrary

- All Superinterfaces:
    CppComponent, Named, SoftwareComponent

      @Incubating
      public interface CppLibrary
      extends CppComponent

  Configuration for a C++ library, defining the source files and header directories that make up the library plus other settings.

  An instance of this type is added as a project extension by the C++ library plugin.

  Since:
    4.2

- - ### Nested Class Summary

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

      `Named.Namer`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Configuration` | `getApiDependencies()` Returns the API dependencies of this library.
    `CppSharedLibrary` | `getDebugSharedLibrary()` Returns the debug shared library for this library.
    `CppSharedLibrary` | `getDevelopmentBinary()` Returns the binary of the component to use as the default for development.
    `FileCollection` | `getPublicHeaderDirs()` Returns the public header files of this component, as defined in `getPublicHeaders()`.
    `ConfigurableFileCollection` | `getPublicHeaders()` Defines the public header file directories of this library.
    `CppSharedLibrary` | `getReleaseSharedLibrary()` Returns the release shared library for this library.
    `void` | `publicHeaders(Action<? super ConfigurableFileCollection> action)` Configures the public header directories for this component.

    - ### Methods inherited from interface org.gradle.language.cpp.CppComponent

      `getBaseName, getCppSource, getHeaderFiles, getImplementationDependencies, getPrivateHeaderDirs, getPrivateHeaders, getSource, privateHeaders, source`

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

      `getName`

- - ### Method Detail

    - #### getPublicHeaders

          ConfigurableFileCollection getPublicHeaders()

      Defines the public header file directories of this library.

      When this collection is empty, the directory `src/main/public` is used by default.

    - #### publicHeaders

          void publicHeaders(Action<? super ConfigurableFileCollection> action)

      Configures the public header directories for this component.

    - #### getPublicHeaderDirs

          FileCollection getPublicHeaderDirs()

      Returns the public header files of this component, as defined in `getPublicHeaders()`.

    - #### getApiDependencies

          Configuration getApiDependencies()

      Returns the API dependencies of this library.

    - #### getDevelopmentBinary

          CppSharedLibrary getDevelopmentBinary()

      Returns the binary of the component to use as the default for development.
      Specified by:
        `getDevelopmentBinary` in interface `CppComponent`

    - #### getDebugSharedLibrary

          CppSharedLibrary getDebugSharedLibrary()

      Returns the debug shared library for this library.

    - #### getReleaseSharedLibrary

          CppSharedLibrary getReleaseSharedLibrary()

      Returns the release shared library for this library.