pw_build#

Integrations for Bazel, GN, and CMake

Stable Bazel CMake GN Rust

The pw_build module provides a wide assortment integrations, tooling, and libraries to address many common build system needs. Whether you’re trying to provide an easy way to group builds together, convert an ELF file to a .bin file, or compile embedded binary data into a library or firmware image, pw_build is the place to look.

This module is also home to the Workflows Launcher, a tool designed to simplify the management of various build system configurations and expose developer-facing tooling via easy-to-use shortcuts. This makes it easy to quickly customize project-specific presubmit flows, add shortcuts for tools like Pigweed’s Code formatting utility, and prescribe build configuration variants supported by your project.

Workflows Launcher

Quickly launch project-specific builds, tools, and grouped build actions.

Project Builder

Python API for orchestrating multi-step builds.

Bazel

Build integrations for Pigweed’s primary build system.

GN / Ninja

Build integrations for Pigweed’s original build system.

CMake

Build integrations for projects reliant on CMake.