Skip to main content

The cdlConfigurations definition

note

Work in progress.

Purpose

Define a map of configuration objects (persistent storages for user choices).

Syntax

{
"cdlConfigurations": {
"<name>": {
... configuration members ...
}
}
}

Description

The cdlConfigurations objects store all definitions required to generate the build tree and to conduct the build process. These definitions include all user choices during the configuration process, and other settings, like toolchain details.

The same cdlConfigurations object can be used for multiple build configurations, for example when building the same unit-test with multiple toolchains or toolchain versions.

The cdlConfigurations definitions are stored persistently in a JSON file in the project, that must be committed to the versioning system.

Containers

  • cdlObjects

Properties

TBD

  • artifactFileName
  • buildConfigurationName
  • buildFolder
  • children
  • loadPackages
  • options
  • preprocessorSymbols
  • requires
  • toolchain

Example

{
"cdlConfigurations": {
"debug": {
"cdlObjects": {
"kernel/scheduler/mlqueue": { "enabled": true },
"kernel/scheduler/bitmap": { "enabled": false },
"trace/buffer/size": { "value": "1024" },
...
},
... other definitions ...
},
"release": {
...
}
}
}