CppSourceSet

API Documentation:CppSourceSet

Note: This class is incubating and may change in a future version of Gradle.

A set of C++ source files.

A C++ source set contains a set of source files, together with an optional set of exported header files.

apply plugin: "cpp"

executables{
    main{}
}

sources {
    main {
        // Configure an existing CppSourceSet
        cpp {
            source {
                srcDirs "src/main/cpp", "src/shared/c++"
                include "**/*.cpp"
            }
            exportedHeaders {
                srcDirs "src/main/include", "src/shared/include"
            }
        }
    }
}

Properties

PropertyDescription
exportedHeaders
Incubating

The headers as a directory set.

libs
Incubating

The libraries that this source set requires.

source
Incubating

The source files.

Methods

MethodDescription
exportedHeaders(config)
Incubating

Configure the exported header directories.

lib(library)
Incubating

Adds a library that this source set requires. This method accepts the following types:

source(config)
Incubating

Configure the sources

Script blocks

No script blocks

Property details

SourceDirectorySet exportedHeaders (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The headers as a directory set.

Collection<?> libs (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The libraries that this source set requires.

SourceDirectorySet source (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The source files.

Method details

void exportedHeaders(Action<? super SourceDirectorySet> config)

Note: This method is incubating and may change in a future version of Gradle.

Configure the exported header directories.

void lib(Object library)

Note: This method is incubating and may change in a future version of Gradle.

Adds a library that this source set requires. This method accepts the following types:

The Map notation supports the following String attributes:

  • project: the path to the project containing the library (optional, defaults to current project)
  • library: the name of the library (required)
  • linkage: the library linkage required ['shared'/'static'] (optional, defaults to 'shared')

void source(Action<? super SourceDirectorySet> config)

Note: This method is incubating and may change in a future version of Gradle.

Configure the sources