Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 1.89 KB

build_system.md

File metadata and controls

55 lines (37 loc) · 1.89 KB

CRC-R: Build System

Table of Contents:

  1. Responsibilities
  2. Requirements
  3. Collaborators
  4. Rationale
  5. Source Links
  6. Related Documents
  7. Notes

Responsibilities

  • Compile framework and client application
  • Compile and run unit tests
  • Generate documentation
  • Provide hooks for quality control measures such as code formatting and static analysis

Requirements

  • Supports cross-compilation
  • Allow users to configure settings
  • Allow users to select what modules to build
  • Allow users to define multiple platforms and applications
  • Needs to be easy to build a subset of software (e.g., for host testing)

Collaborators

Rationale

Without a build system, the project can't be distributed or used.

The build system must be flexible and straightforward to use/configure.

Source Links

The build system exists throughout the project:

  • The root meson.build file is master build system file and invokes subdirectory build files
  • The meson/ folder is a collaborating set of files used by the build, including cross-compilation support and toolchain settings
  • Jenkinsfile and CI.jenkinsfile contain the build rules for the Jenkins build server

Related Documents

N/A

Notes