Class AbstractNativeCompileTask

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask
All Implemented Interfaces:
Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, Configurable<Task>
Direct Known Subclasses:
AbstractNativePCHCompileTask, AbstractNativeSourceCompileTask

@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class AbstractNativeCompileTask extends DefaultTask
Compiles native source files into object files.
  • Constructor Details

    • AbstractNativeCompileTask

      public AbstractNativeCompileTask()
  • Method Details

    • getTaskFileVarFactory

      @Inject protected org.gradle.api.internal.file.TaskFileVarFactory getTaskFileVarFactory()
    • getIncrementalCompilerBuilder

      @Inject protected org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder getIncrementalCompilerBuilder()
    • getOperationLoggerFactory

      @Inject protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()
    • getFileCollectionFactory

      @Inject protected org.gradle.api.internal.file.FileCollectionFactory getFileCollectionFactory()
    • compile

      protected void compile(InputChanges inputs)
    • configureSpec

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

      protected abstract org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec createCompileSpec()
    • getToolChain

      @Internal public Property<NativeToolChain> getToolChain()
      The tool chain used for compilation.
      Since:
      4.7
    • getTargetPlatform

      public Property<NativePlatform> getTargetPlatform()
      The platform being compiled for.
      Since:
      4.7
    • isPositionIndependentCode

      @Input public boolean isPositionIndependentCode()
      Should the compiler generate position independent code?
    • setPositionIndependentCode

      public void setPositionIndependentCode(boolean positionIndependentCode)
    • isDebuggable

      @Input public boolean isDebuggable()
      Should the compiler generate debuggable code?
      Since:
      4.3
    • setDebuggable

      public void setDebuggable(boolean debug)
      Should the compiler generate debuggable code?
      Since:
      4.3
    • isOptimized

      @Input public boolean isOptimized()
      Should the compiler generate optimized code?
      Since:
      4.3
    • setOptimized

      public void setOptimized(boolean optimize)
      Should the compiler generate optimized code?
      Since:
      4.3
    • getObjectFileDir

      @OutputDirectory public DirectoryProperty getObjectFileDir()
      The directory where object files will be generated.
      Since:
      4.3
    • getIncludes

      @Internal("The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs") public ConfigurableFileCollection getIncludes()
      Returns the header directories to be used for compilation.
    • includes

      public void includes(Object includeRoots)
      Add directories where the compiler should search for header files.
    • getSystemIncludes

      @Internal("The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs") public ConfigurableFileCollection getSystemIncludes()
      Returns the system include directories to be used for compilation.
      Since:
      4.8
    • getSource

      Returns the source files to be compiled.
    • source

      public void source(Object sourceFiles)
      Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as per Project.files(Object...).
    • getMacros

      @Input public Map<String,String> getMacros()
      Macros that should be defined for the compiler.
    • setMacros

      public void setMacros(Map<String,String> macros)
    • getCompilerArgs

      @Input public ListProperty<String> getCompilerArgs()
      Additional arguments to provide to the compiler.
      Since:
      4.3
    • getHeaderDependencies

      @Incremental @InputFiles @PathSensitive(NAME_ONLY) protected FileCollection getHeaderDependencies()
      The set of dependent headers. This is used for up-to-date checks only.
      Since:
      4.3