Table of Contents:
- 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
- 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)
- Builds the Documentation
Without a build system, the project can't be distributed or used.
The build system must be flexible and straightforward to use/configure.
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
N/A
- Want to keep the client build separated from the core build
- Can we utilize a module concept for some of our packages? C++/Conan modules?
- Look into Meson Subprojects
- Look into
meson configure
command, build options, and configuration options.