# Interface CompilationDetails

public interface CompilationDetails
Represents the compilation details for a binary.

Since:
  4.10

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<String>`
  `getAdditionalArgs()`
  Returns any additional compiler arguments not included in the search paths and macro directives of this binary.
  `@Nullable File`
  `getCompilerExecutable()`
  Returns the compiler executable that is used to compile this binary.
  `Task`
  `getCompileTask()`
  Returns the details of the compilation task for this binary.
  `File`
  `getCompileWorkingDir()`
  Returns the working directory that the compiler is invoked from when compiling the source of this binary.
  `List<File>`
  `getFrameworkSearchPaths()`
  Returns the framework search paths for this binary.
  `Set<File>`
  `getHeaderDirs()`
  Returns the header directories for this binary.
  `DomainObjectSet<? extends MacroDirective>`
  `getMacroDefines()`
  Returns the macro define directives for this binary.
  `Set<String>`
  `getMacroUndefines()`
  Returns the macro undefine directives for this binary.
  `DomainObjectSet<? extends SourceFile>`
  `getSources()`
  Returns the source files for this binary.
  `List<File>`
  `getSystemHeaderSearchPaths()`
  Returns the system search paths for this binary.
  `List<File>`
  `getUserHeaderSearchPaths()`
  Returns the user search paths for this binary.

- ## Method Details

  - ### getCompileTask

    Task getCompileTask()
    Returns the details of the compilation task for this binary. This is the task that should be run to produce the object files, but may not necessarily be the task that compiles the source files. For example, the task may perform some post processing of the object files.

  - ### getCompilerExecutable

    @Nullable File getCompilerExecutable()
    Returns the compiler executable that is used to compile this binary.
    Returns:
      The compiler executable or `null` if the compiler for this binary is not available.

  - ### getCompileWorkingDir

    File getCompileWorkingDir()
    Returns the working directory that the compiler is invoked from when compiling the source of this binary.

  - ### getFrameworkSearchPaths

    List<File> getFrameworkSearchPaths()
    Returns the framework search paths for this binary.

  - ### getSystemHeaderSearchPaths

    List<File> getSystemHeaderSearchPaths()
    Returns the system search paths for this binary.

  - ### getUserHeaderSearchPaths

    List<File> getUserHeaderSearchPaths()
    Returns the user search paths for this binary. This includes the header directories for the binary itself, plus any dependencies of the binary.

  - ### getSources

    DomainObjectSet<? extends SourceFile> getSources()
    Returns the source files for this binary.

  - ### getHeaderDirs

    Set<File> getHeaderDirs()
    Returns the header directories for this binary. These are also included in the result of `getUserHeaderSearchPaths()`.

  - ### getMacroDefines

    DomainObjectSet<? extends MacroDirective> getMacroDefines()
    Returns the macro define directives for this binary.

  - ### getMacroUndefines

    Set<String> getMacroUndefines()
    Returns the macro undefine directives for this binary.

  - ### getAdditionalArgs

    List<String> getAdditionalArgs()
    Returns any additional compiler arguments not included in the search paths and macro directives of this binary.