Package org.gradle.language.cpp

## Interface CppBinary

- All Superinterfaces:
    `BuildableComponent`, `ComponentWithDependencies`, `ComponentWithNativeRuntime`, `ComponentWithObjectFiles`, `Named`, `SoftwareComponent`
  All Known Subinterfaces:
    `CppExecutable`, `CppSharedLibrary`, `CppStaticLibrary`, `CppTestExecutable`

      @Incubating
      public interface CppBinary
      extends ComponentWithObjectFiles, ComponentWithDependencies, BuildableComponent

  A binary built from C++ source and linked from the resulting object files.
  Since:
    4.2

- - ### Nested Class Summary

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

      `Named.Namer`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Attribute<Boolean>` | `DEBUGGABLE_ATTRIBUTE` | The dependency resolution attribute use to indicate whether a binary is debuggable or not.
    `static Attribute<Linkage>` | `LINKAGE_ATTRIBUTE` | The dependency resolution attribute use to indicate which linkage a binary uses.
    `static Attribute<Boolean>` | `OPTIMIZED_ATTRIBUTE` | The dependency resolution attribute use to indicate whether a binary is optimized or not.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `FileCollection` | `getCompileIncludePath()` | Returns the header directories to use to compile this binary.
    `Provider<CppCompile>` | `getCompileTask()` | Returns the compile task for this binary.
    `FileCollection` | `getCppSource()` | Returns the C++ source files of this binary.
    `FileCollection` | `getLinkLibraries()` | Returns the link libraries to use to link this binary.
    `FileCollection` | `getRuntimeLibraries()` | Returns the runtime libraries required by this binary.
    `CppPlatform` | `getTargetPlatform()` | Returns the target platform for this component.

    - ### Methods inherited from interface org.gradle.language.ComponentWithDependencies

      `getDependencies`

    - ### Methods inherited from interface org.gradle.language.nativeplatform.ComponentWithNativeRuntime

      `getBaseName, getToolChain, isDebuggable, isOptimized`

    - ### Methods inherited from interface org.gradle.language.nativeplatform.ComponentWithObjectFiles

      `getObjects`

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

      `getName`

- - ### Field Detail

    - #### DEBUGGABLE_ATTRIBUTE

          static final Attribute<Boolean> DEBUGGABLE_ATTRIBUTE

      The dependency resolution attribute use to indicate whether a binary is debuggable or not.

    - #### OPTIMIZED_ATTRIBUTE

          static final Attribute<Boolean> OPTIMIZED_ATTRIBUTE

      The dependency resolution attribute use to indicate whether a binary is optimized or not.
      Since:
        4.5

    - #### LINKAGE_ATTRIBUTE

          static final Attribute<Linkage> LINKAGE_ATTRIBUTE

      The dependency resolution attribute use to indicate which linkage a binary uses.
      Since:
        4.5

  - ### Method Detail

    - #### getCppSource

          FileCollection getCppSource()

      Returns the C++ source files of this binary.

    - #### getCompileIncludePath

          FileCollection getCompileIncludePath()

      Returns the header directories to use to compile this binary. Includes the header directories of this binary plus those of its dependencies.

    - #### getLinkLibraries

          FileCollection getLinkLibraries()

      Returns the link libraries to use to link this binary. Includes the link libraries of the component's dependencies.

    - #### getRuntimeLibraries

          FileCollection getRuntimeLibraries()

      Returns the runtime libraries required by this binary. Includes the runtime libraries of the component's dependencies.

    - #### getTargetPlatform

          CppPlatform getTargetPlatform()

      Returns the target platform for this component.
      Specified by:
        `getTargetPlatform` in interface `ComponentWithNativeRuntime`
      Since:
        4.5

    - #### getCompileTask

          Provider<CppCompile> getCompileTask()

      Returns the compile task for this binary.
      Since:
        4.5