Depends Item

A Depends item can appear inside a Product Item or Module Item.

For example, the following product will load the cpp module. In addition, it will try to load modules that may or may not exist, and in the latter case use a fallback.

Product {
    Depends { name: "cpp" }
    Depends {
        name: "awesome_module"
        required: false
    }
    Depends {
        name: "adequate_module"
        condition: !awesome_module.present
        required: false
    }
    Depends {
        name: "crappy_module"
        condition: !awesome_module.present && !adequate_module.present
    }

    // ...
}

Depends Properties

PropertyTypeDefaultDescription
conditionbooltrueDetermines whether the dependency will actually be applied.
requiredbooltrueSetting this property to false creates a soft dependency, meaning that it is not considered an error if the given module cannot be found. In such a case, an instance of the respective module will be created, but only the present property will be available for querying, and it will be set to false.
namestringundefinedThe name of the dependent product or module.
profilesstringList[product.profile]If the dependency is on a product and that product is going to be built for more than one profile, then you can specify here which instance of the product the dependency is on. See the profiles property of the Product item for more information.
submodulesstringListundefinedThe submodules of module to depend on, if applicable.