Skip to main content

cdlConfigurations object

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 extra setting that complement the configuration hierarchy required to generate the build tree and to conduct the build process. These settings include all user choices during the configuration process, and possible other settings, like toolchain details, if fixed for a given xCDL configuration.

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. Therefore it is possible to pass the toolchain definitions via an option to xcdl setup.

The cdlConfigurations definitions are part of the cdlProject object and are stored persistently in a JSON file in the project, usually xcdl-project.json.

Containers

  • cdlSettings

Properties

  • buildType
  • buildFolderPath
  • cdlConfigurationName

TBD

  • artefactFileName
  • children
  • loadPackages
  • options
  • preprocessorSymbols
  • requires
  • toolchain

Example

{
"cdlConfigurations": {
"debug": {
"cdlSettings": {
"micro-os-plus.scheduler.mlqueue": true,
"micro-os-plus.diag-trace.buffer.size": 1024
}
}

"release": {
...
}
}
}