# Interface CSourceSet

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

@Incubating public interface CSourceSet extends HeaderExportingSourceSet, LanguageSourceSet, DependentSourceSet
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 'c'
    }

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

- ## 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`