Group Item Probe Item

# Module Item

A `Module` item is a collection of properties and language items that are used for building a product if the product depends on (or loads) the module.

A Module can be loaded by adding a dependency to it in a product. For example, the following product will load the `cpp` module:

    Product {
        Depends { name: "cpp" }
        ...
    }

Property | Type | Default | Description
--- | --- | --- | ---
setupBuildEnvironment | script | `undefined` | Script for setting up the environment in which the project is built. Use the `putenv` and `getenv` functions to alter the environment. The return value of this script is ignored.
setupRunEnvironment | script | `setupBuildEnvironment` | Script for setting up the environment in which the project is run.
validate | script | `undefined` | Script that is run after the module is loaded. It can be used to check property values and throw errors in unexpected cases. The return value is ignored.

Group Item Probe Item