# Class CPlugin

java.lang.Object
org.gradle.language.c.plugins.CPlugin

All Implemented Interfaces:
  `Plugin<Project>`

@Incubating public abstract class CPlugin extends Object implements Plugin<Project>
A plugin for projects wishing to build native binary components from C sources.

Automatically includes the `CLangPlugin` for core C++ support and the `NativeComponentModelPlugin` for native component support.

- Creates a `CCompile` task for each `CSourceSet` to compile the C sources.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CPlugin()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `apply(Project project)`
  Apply this plugin to the given target object.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### CPlugin

    public CPlugin()

- ## Method Details

  - ### apply

    public void apply(Project project)
    Description copied from interface: `Plugin`
    Apply this plugin to the given target object.
    Specified by:
      `apply` in interface `Plugin<Project>`
    Parameters:
      `project` - The target object