Skip to main content

dependencies property

note

Work in progress.

Purpose

Specify the dependencies of the current object on other objects. This allows a configuration tool to ensure that all required dependencies are satisfied before enabling or configuring the current object.

Syntax

{
"cdlOptions | cdlComponents": [
{
"name": "...",
...
"dependencies": [ "<dependency>", ... ],
...
}
]
}

The value of the dependencies property is an array of strings, each representing the name of a dependency.

Default value

If missing, the current object has no dependencies.

Description

By the nature of the configuration hierarchy, components and options naturaly depend on their parents. However, some may also depend on other components and options located on other branches of the hierarchy.

The dependencies property allows to specify these dependencies in a structured way.

This ensures that the components have access at the dependencies public definitions (headers, preprocessor definitions, etc.) and that the build steps are performed in the correct order.

Example

{
...
"cdlComponents": [
{
"name": "micro-os-plus.core.utils-lists",
"display": "Intrusive Lists",
"description": "µOS++ C++ Intrusive Lists",
"publicIncludeFolders": [
"include"
],
"sourceFiles": [
"src/doubly-list-links.cpp"
],
"dependencies": [
"micro-os-plus.diag.trace"
],
...
}
]
}

See also

  • TODO

eCos reference

  • none