Interface CppComponent

  • All Superinterfaces:
    Named, SoftwareComponent
    All Known Subinterfaces:
    CppApplication, CppLibrary, CppTestSuite

    @Incubating
    public interface CppComponent
    extends SoftwareComponent
    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
    • Method Detail

      • getBaseName

        Property<String> getBaseName()
        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.
      • getSource

        ConfigurableFileCollection getSource()
        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.

      • getPrivateHeaders

        ConfigurableFileCollection getPrivateHeaders()
        Defines the private header file directories of this library.

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

      • getHeaderFiles

        FileTree getHeaderFiles()
        Returns all header files of this component. Includes public and private header files.
      • getImplementationDependencies

        Configuration getImplementationDependencies()
        Returns the implementation dependencies of this component.
      • getDevelopmentBinary

        CppBinary getDevelopmentBinary()
        Returns the binary of the component to use as the default for development.