# PreprocessingTool

API Documentation: | `PreprocessingTool`

Note: This class is incubating and may change in a future version of Gradle.

A tool that permits configuration of the C preprocessor.

### Properties

Property | Description
`args` | Incubating The arguments passed when executing this tool.
`macros` | Incubating The set of preprocessor macros to define when compiling this binary.

### Methods

Method | Description
`args(args)` | Incubating Adds a number of arguments to be passed to the tool.
`define(name)` | Incubating Defines a named preprocessor macros to use when compiling this binary. The macro will be supplied to the compiler as '-D name'.
`define(name, definition)` | Incubating Defines a named preprocessor macro with a value, which will be used when compiling this binary. The macro will be supplied to the compiler as '-D name=definition'.

### Script blocks

No script blocks

### Property details

#### ``List`<`String`>` `args` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The arguments passed when executing this tool.

#### ``Map`<`String`, `String`>` `macros` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The set of preprocessor macros to define when compiling this binary.

### Method details

#### `void` `args`(``String`...` args)

Note: This method is incubating and may change in a future version of Gradle.

Adds a number of arguments to be passed to the tool.

#### `void` `define`(`String` name)

Note: This method is incubating and may change in a future version of Gradle.

Defines a named preprocessor macros to use when compiling this binary. The macro will be supplied to the compiler as '-D name'.

#### `void` `define`(`String` name, `String` definition)

Note: This method is incubating and may change in a future version of Gradle.

Defines a named preprocessor macro with a value, which will be used when compiling this binary. The macro will be supplied to the compiler as '-D name=definition'.