CppLibrary

API Documentation:CppLibrary

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.

Properties

PropertyDescription
baseName

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.

binaries

The binaries of this component.

developmentBinary

The binary of the component to use as the default for development.

linkage

The list of linkage of this library.

privateHeaders

Defines the private header file directories of this library.

publicHeaders

Defines the public header file directories of this library.

source

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.

targetMachines

Specifies the target machines this component should be built for. The "machines" extension property (see TargetMachineFactory) can be used to construct common operating system and architecture combinations.

Methods

MethodDescription
privateHeaders(action)

Configures the private header directories for this component.

publicHeaders(action)

Configures the public header directories for this component.

source(action)

Configures the source files or directories for this component.

Script blocks

No script blocks

Property details

Property<String> baseName

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.

BinaryCollection<? extends SoftwareComponent> binaries (read-only)

The binaries of this component.

Provider<? extends CppBinary> developmentBinary

The binary of the component to use as the default for development.

The list of linkage of this library.

ConfigurableFileCollection privateHeaders (read-only)

Defines the private header file directories of this library.

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

ConfigurableFileCollection publicHeaders (read-only)

Defines the public header file directories of this library.

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

ConfigurableFileCollection source (read-only)

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.

SetProperty<TargetMachine> targetMachines

Specifies the target machines this component should be built for. The "machines" extension property (see TargetMachineFactory) can be used to construct common operating system and architecture combinations.

For example:

targetMachines = [machines.linux.x86_64, machines.windows.x86_64]

Method details

void privateHeaders(Action<? super ConfigurableFileCollection> action)

Configures the private header directories for this component.

void publicHeaders(Action<? super ConfigurableFileCollection> action)

Configures the public header directories for this component.

void source(Action<? super ConfigurableFileCollection> action)

Configures the source files or directories for this component.