Back to Contributing / Oil Dev Cheat Sheet

How it Works

  1. ./NINJA-config.sh does two things:
    1. invokes build/dynamic_deps.py to figure out dependencies of Python code generators
    2. then calls build/NINJA_main.py to write build.ninja, which is the default file that ninja looks at.
  1. NINJA_main.py imports the files {build,cpp,mycpp}/NINJA_subgraph.py

  2. Each of those files writes a subset of the NINJA rules (a "subgraph").

On Ninja

There are essentially only two statements in Ninja: rule and build.

Caveats

The incremental build is correct in almost all cases. EXCEPTIONS:

Adding Files

2022-09-06

Include style

We are using the clang-format / IWYU / "Google" style.

Details: https://google.github.io/styleguide/cppguide.html

Summary: