# Interface CppSourceSet

All Superinterfaces:
  `Buildable, BuildableComponentSpec, ComponentSpec, DependentSourceSet, HeaderExportingSourceSet, LanguageSourceSet, ModelElement, Named`

@Incubating @Deprecated public interface CppSourceSet extends HeaderExportingSourceSet, LanguageSourceSet, DependentSourceSet
Deprecated.
The Gradle software model is deprecated and will be removed in Gradle 10. Use the new component model (e.g. `cpp-application`, `cpp-library`, `swift-application`, `swift-library`, `xctest`) instead.
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.

    plugins {
        id 'cpp'
    }

    model {
        components {
            main(NativeLibrarySpec) {
                sources {
                    cpp {
                        source {
                            srcDirs "src/main/cpp", "src/shared/c++"
                            include "**/*.cpp"
                        }
                        exportedHeaders {
                            srcDirs "src/main/include", "src/shared/include"
                        }
                    }
                }
            }
        }
    }

Since:
  1.9

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  ### Methods inherited from interface Buildable

  `getBuildDependencies`

  ### Methods inherited from interface BuildableComponentSpec

  `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

  ### Methods inherited from interface ComponentSpec

  `getProjectPath`

  ### Methods inherited from interface DependentSourceSet

  `getLibs, getPreCompiledHeader, lib, setPreCompiledHeader`

  ### Methods inherited from interface HeaderExportingSourceSet

  `getExportedHeaders, getImplicitHeaders`

  ### Methods inherited from interface LanguageSourceSet

  `generatedBy, getParentName, getSource`

  ### Methods inherited from interface ModelElement

  `getDisplayName, getName`