# Interface CppBinary

All Superinterfaces:
  `Named, SoftwareComponent`

All Known Subinterfaces:
  `CppExecutable, CppSharedLibrary`

@Incubating public interface CppBinary extends SoftwareComponent
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 Named

`Named.Namer`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Attribute<Boolean>`
`DEBUGGABLE_ATTRIBUTE`
The dependency resolution attribute use to indicate whether a binary is debuggable or not.

## Method Summary

Modifier and Type
Method
Description
`Provider<String>`
`getBaseName()`
Returns the base name of the binary.
`FileCollection`
`getCompileIncludePath()`
Returns the header directories to use to compile 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`
`getObjects()`
Returns the object files created for this binary.
`FileCollection`
`getRuntimeLibraries()`
Returns the runtime libraries required by this binary.
`boolean`
`isDebuggable()`
Returns true if this binary has debugging enabled.

### Methods inherited from interface Named

`getName`

## Field Details

### DEBUGGABLE_ATTRIBUTE

static final Attribute<Boolean> DEBUGGABLE_ATTRIBUTE
The dependency resolution attribute use to indicate whether a binary is debuggable or not.

## Method Details

### getBaseName

Provider<String> getBaseName()
Returns the base name of the binary.

### isDebuggable

boolean isDebuggable()
Returns true if this binary has debugging enabled.

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

### getObjects

FileCollection getObjects()
Returns the object files created for this binary.

Since:
  4.4