api / org.gradle.language.cpp / CppComponent

CppComponent

@Incubating interface CppComponent : ComponentWithBinaries, ComponentWithDependencies

Configuration for a C++ component, such as a library or executable, defining the source files and private header directories that make up the component. Private headers are those that are visible only to the source files of the component.

A C++ component is composed of some C++ source files that are compiled and then linked into some binary.

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

Since
4.2

Functions

getBaseName

abstract fun getBaseName(): Property<String>

Specifies the base name for this component. This name is used to calculate various output file names. The default value is calculated from the project name.

getBinaries

abstract fun getBinaries(): BinaryCollection<out CppBinary>

Returns the binaries for this library.

getCppSource

abstract fun getCppSource(): FileCollection

Returns the C++ source files of this component, as defined in #getSource().

getHeaderFiles

abstract fun getHeaderFiles(): FileTree

Returns all header files of this component. Includes public and private header files.

getImplementationDependencies

abstract fun getImplementationDependencies(): Configuration

Returns the implementation dependencies of this component.

getOperatingSystems

abstract fun getOperatingSystems(): SetProperty<OperatingSystemFamily>

Specifies the operating systems for the target machine.

getPrivateHeaderDirs

abstract fun getPrivateHeaderDirs(): FileCollection

Returns the private header include directories of this component, as defined in #getPrivateHeaders().

getPrivateHeaders

abstract fun getPrivateHeaders(): ConfigurableFileCollection

Defines the private header file directories of this library.

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

getSource

abstract fun getSource(): ConfigurableFileCollection

Defines the source files or directories of this component. You can add files or directories to this collection. When a directory is added, all source files are included for compilation.

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

privateHeaders

abstract fun privateHeaders(action: Action<in ConfigurableFileCollection>): Unit

Configures the private header directories for this component.

source

abstract fun source(action: Action<in ConfigurableFileCollection>): Unit

Configures the source files or directories for this component.

Inherited Functions

getDependencies

abstract fun getDependencies(): ComponentDependencies

Returns the dependencies of this component.

Inheritors

CppTestSuite

interface CppTestSuite : CppComponent, TestSuiteComponent

A C++ test suite.

ProductionCppComponent

interface ProductionCppComponent : CppComponent, ProductionComponent

Represents a C++ component that is the main product of a project.