org.gradle.language.cpp.plugins

## Class CppApplicationPlugin

- java.lang.Object
- - org.gradle.language.cpp.plugins.CppApplicationPlugin

- All Implemented Interfaces:
    Plugin<org.gradle.api.internal.project.ProjectInternal>

      @Incubating
      public class CppApplicationPlugin
      extends Object
      implements Plugin<org.gradle.api.internal.project.ProjectInternal>

  A plugin that produces a native application from C++ source.

  Assumes the source files are located in `src/main/cpp` and header files are located in `src/main/headers`.

  Adds a `CppApplication` extension to the project to allow configuration of the application.

  Since:
    4.5

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CppApplicationPlugin(org.gradle.language.internal.NativeComponentFactory componentFactory, org.gradle.language.nativeplatform.internal.toolchains.ToolChainSelector toolChainSelector)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `apply(org.gradle.api.internal.project.ProjectInternal project)` Apply this plugin to the given target object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CppApplicationPlugin

          @Inject
          public CppApplicationPlugin(org.gradle.language.internal.NativeComponentFactory componentFactory,
                                              org.gradle.language.nativeplatform.internal.toolchains.ToolChainSelector toolChainSelector)

  - ### Method Detail

    - #### apply

          public void apply(org.gradle.api.internal.project.ProjectInternal project)

      Description copied from interface: `Plugin`
      Apply this plugin to the given target object.
      Specified by:
        `apply` in interface `Plugin<org.gradle.api.internal.project.ProjectInternal>`
      Parameters:
        `project` - The target object