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, ExtensionAware, Task, org.gradle.util.Configurable<Task>
Direct Known Subclasses:
AbstractNativePCHCompileTask, AbstractNativeSourceCompileTask

@Incubating public abstract class AbstractNativeCompileTask extends DefaultTask
Compiles native source files into object files.
  • Constructor Details

    • AbstractNativeCompileTask

      public AbstractNativeCompileTask()
  • Method Details

    • 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

      public void compile(IncrementalTaskInputs 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 NativeToolChain getToolChain()
      The tool chain used for compilation.
    • setToolChain

      public void setToolChain(NativeToolChain toolChain)
    • getTargetPlatform

      public NativePlatform getTargetPlatform()
      The platform being targeted.
    • setTargetPlatform

      public void setTargetPlatform(NativePlatform targetPlatform)
    • 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.
    • getIncludePaths

      @Input @Optional protected Collection<String> getIncludePaths()
    • includes

      public void includes(Object includeRoots)
      Add directories where the compiler should search for header files.
    • 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
    • getHeaderDependenciesFile

      @Internal public RegularFileProperty getHeaderDependenciesFile()
      The file containing the header dependency analysis.
      Since:
      4.3
    • getHeaderDependencies

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