6.1.2. BuildSystemIntegration

Build System Integration

The children of this rule can be reordered.

This rulegroup is used to configure how the main IR file of the project is built. The path to this IR file is configured as option /Project/ir.

If the project uses e.g. Makefiles, CMake, MSBuild, etc. as build system, the appropriate rules can be used. If nothing matching is available, any command can be executed. You can also directly call the Axivion compiler or Axivion linker stand-alone if required.

Each BuildSystemIntegration has a build step and can optionally have a clean step. Each clean step is intended to remove the artifacts created by the respective build step. During the build phase of the analysis, all build steps are executed in the configured order while during the clean phase of the analysis, all clean steps are executed in the reverse order.

Nested Rules

AxivionC#Frontend

Use Axivion C# compiler for analysis compilation

AxivionCompiler

Use Axivion C/C++ compiler and linker directly on source files without build system

AxivionLinker

Use Axivion C/C++ linker directly, with no build system

AxivionRustFrontend

Use Axivion Rust compiler for analysis compilation

CMakeIntegration

Use CMake for analysis compilation

Command

Use arbitrary custom command for analysis compilation

CompileCommandsIntegration

Use compile_commands.json database for analysis compilation

GHSIntegration

Use Green Hills Software project file (.gpj) for analysis compilation

IARIntegration

Use IAR Embedded Workbench project file (.ewp/.eww) for analysis compilation

KeilIntegration

Use KEIL μVision project file (.uvprojx) for analysis compilation

MSBuildIntegration

Use MSBuild for analysis compilation

MakeIntegration

Use Make for analysis compilation

MesonIntegration

Use Meson for analysis compilation

PrintAMessage

Output a message

QMLLintIntegration

Execute qmllint on *.qml files

QMakeIntegration

Use qmake for analysis compilation

RenesasIntegration

Use Renesas CS+ project file (.rcpe) for analysis compilation

RustClippyIntegration

Execute clippy on a cargo-based Rust project

6.1.2.19. Options

  • Setting an option for this rule means setting the default for all nested rules.

  • The following places define options that affect this rule: Project-GlobalOptions

abort_on_error

abort_on_error : bool = True

If set to true and the build step returns a non-zero exit-code, the build is aborted. Otherwise a non-zero exit-code is logged but the build continues.