Package org.gradle.language.nativeplatform.tasks

## Class AbstractNativeSourceCompileTask

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask
      - - org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask

- All Implemented Interfaces:
    `Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `org.gradle.util.Configurable<Task>`
  Direct Known Subclasses:
    `CCompile`, `CppCompile`, `ObjectiveCCompile`, `ObjectiveCppCompile`

      public abstract class AbstractNativeSourceCompileTask
      extends AbstractNativeCompileTask

  Compiles native source files into object files.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractNativeSourceCompileTask()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `configureSpec​(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)` |
    `protected CompilerVersion` | `getCompilerVersion()` | The compiler used, including the type and the version.
    `org.gradle.nativeplatform.toolchain.internal.PreCompiledHeader` | `getPreCompiledHeader()` | Returns the pre-compiled header to be used during compilation
    `void` | `setPreCompiledHeader​(org.gradle.nativeplatform.toolchain.internal.PreCompiledHeader preCompiledHeader)` |

    - ### Methods inherited from class org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask

      `compile, createCompileSpec, getCompilerArgs, getFileCollectionFactory, getHeaderDependencies, getIncludes, getIncrementalCompilerBuilder, getMacros, getObjectFileDir, getOperationLoggerFactory, getSource, getSystemIncludes, getTargetPlatform, getTaskFileVarFactory, getToolChain, includes, isDebuggable, isOptimized, isPositionIndependentCode, setDebuggable, setMacros, setOptimized, setPositionIndependentCode, source`

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `appendParallelSafeAction, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getOnlyIf, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, prependParallelSafeAction, setImpliesSubProjects, setLoggerMessageRewriter`

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

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

    - ### Methods inherited from interface org.gradle.api.Task

      `getConvention`

- - ### Constructor Detail

    - #### AbstractNativeSourceCompileTask

          public AbstractNativeSourceCompileTask()

  - ### Method Detail

    - #### configureSpec

          protected void configureSpec​(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)

      Overrides:
        `configureSpec` in class `AbstractNativeCompileTask`

    - #### getPreCompiledHeader

          @Nullable
          @Optional
          @Incubating
          public org.gradle.nativeplatform.toolchain.internal.PreCompiledHeader getPreCompiledHeader()

      Returns the pre-compiled header to be used during compilation

    - #### setPreCompiledHeader

          @Incubating
          public void setPreCompiledHeader​(@Nullable
                                           org.gradle.nativeplatform.toolchain.internal.PreCompiledHeader preCompiledHeader)

    - #### getCompilerVersion

          @Nullable
          @Optional
          protected CompilerVersion getCompilerVersion()

      The compiler used, including the type and the version.
      Since:
        4.4