api / org.gradle.language.cpp / CppBinary

CppBinary

@Incubating interface CppBinary : ComponentWithObjectFiles, ComponentWithDependencies, BuildableComponent

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

Since
4.2

Properties

DEBUGGABLE_ATTRIBUTE

static val DEBUGGABLE_ATTRIBUTE: Attribute<Boolean>

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

LINKAGE_ATTRIBUTE

static val LINKAGE_ATTRIBUTE: Attribute<Linkage>

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

OPTIMIZED_ATTRIBUTE

static val OPTIMIZED_ATTRIBUTE: Attribute<Boolean>

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

Functions

getCompileIncludePath

abstract fun getCompileIncludePath(): FileCollection

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

getCompileTask

abstract fun getCompileTask(): Provider<CppCompile>

Returns the compile task for this binary.

getCppSource

abstract fun getCppSource(): FileCollection

Returns the C++ source files of this binary.

getLinkLibraries

abstract fun getLinkLibraries(): FileCollection

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

getRuntimeLibraries

abstract fun getRuntimeLibraries(): FileCollection

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

getTargetPlatform

abstract fun getTargetPlatform(): CppPlatform

{@inheritDoc}

Inherited Functions

getDependencies

abstract fun getDependencies(): ComponentDependencies

Returns the dependencies of this component.

getObjects

abstract fun getObjects(): FileCollection

Returns the object files created for this component.

Inheritors

CppExecutable

interface CppExecutable : CppBinary, ComponentWithExecutable, ComponentWithInstallation, ComponentWithOutputs, ComponentWithRuntimeUsage, PublishableComponent

An executable built from C++ source.

CppSharedLibrary

interface CppSharedLibrary : CppBinary, ComponentWithSharedLibrary, ComponentWithLinkUsage, ComponentWithRuntimeUsage, ComponentWithOutputs, PublishableComponent

A shared library built from C++ source.

CppStaticLibrary

interface CppStaticLibrary : CppBinary, ComponentWithStaticLibrary, ComponentWithLinkUsage, ComponentWithRuntimeUsage, ComponentWithOutputs, PublishableComponent

A static library built from C++ source.

CppTestExecutable

interface CppTestExecutable : CppBinary, ComponentWithExecutable, ComponentWithInstallation, TestComponent

A test executable with tests implemented in C++.