api / org.gradle.language.cpp / ProductionCppComponent

ProductionCppComponent

@Incubating interface ProductionCppComponent : CppComponent, ProductionComponent

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

Since
4.5

Functions

getDevelopmentBinary

abstract fun getDevelopmentBinary(): Provider<out CppBinary>

{@inheritDoc}

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

Inheritors

CppApplication

interface CppApplication : ProductionCppComponent

Configuration for a C++ application, defining the source files that make up the application plus other settings.

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

CppLibrary

interface CppLibrary : ProductionCppComponent

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.