pw_build: Update docs summary

This change adapts Pigweed's build system introductory summary into its
ReST documentation.

Change-Id: Icabdca3049a58285207fa177263aefc46be13960
This commit is contained in:
Alexei Frolov 2020-03-03 17:20:06 -08:00 committed by CQ Bot Account
parent 4ee94261ec
commit 9d169d5625

View File

@ -1,20 +1,33 @@
.. _chapter-build:
.. default-domain:: cpp
.. highlight:: sh
.. _chapter-build:
--------
pw_build
--------
The build module contains the configuration necessary to build Pigweed using
`GN`_/`Ninja`_, `CMake`_/`Ninja`_, or `Bazel`_.
Pigweed's modules aim to be easily integratable into both new and existing
embedded projects. To that goal, the ``pw_build`` module provides support for
multiple build systems. Our personal favorite is `GN`_/`Ninja`_, which is used
by upstream developers for its speed and flexibility. `CMake`_ and `Bazel`_
build files are also provided by all modules, allowing Pigweed to be added to a
project with minimal effort.
.. _GN: https://gn.googlesource.com/gn/
.. _CMake: https://cmake.org/
.. _Ninja: https://ninja-build.org/
.. _CMake: https://cmake.org/
.. _Bazel: https://bazel.build/
Beyond just compiling code, Pigweeds GN build system can also:
* Generate HTML documentation, via our Sphinx integration (with ``pw_docgen``)
* Display memory usage report cards (with pw_bloat)
* Incrementally run unit tests after code changes (with ``pw_target_runner``)
* And more!
These are only supported in the GN build, so we recommend using it if possible.
GN / Ninja
==========
The common configuration for GN for all modules is in the ``BUILD.gn`` file.