# Interface CppProject

All Superinterfaces:
  `ProjectModel`

public interface CppProject extends ProjectModel
Details about the C++ components of a Gradle project.

Since:
  4.10

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable CppComponent`
  `getMainComponent()`
  Returns the main C++ component of this project, if any.
  `@Nullable CppTestSuite`
  `getTestComponent()`
  Returns the C++ unit test suite of this project, if any.

  ### Methods inherited from interface ProjectModel

  `getProjectIdentifier`

- ## Method Details

  - ### getMainComponent

    @Nullable CppComponent getMainComponent()
    Returns the main C++ component of this project, if any.
    Returns:
      the main component or `null` when the project does not have a main component. The component will implement either `CppApplication` or `CppLibrary`.

  - ### getTestComponent

    @Nullable CppTestSuite getTestComponent()
    Returns the C++ unit test suite of this project, if any.
    Returns:
      the test suite or `null` when the project does not have a unit test suite.