CMake

Cross-platform native build configuration

Visit CMake official site

What it does

CMake generates configurations for different build systems from project definitions, managing targets, dependencies, and compiler toolchains used by native application projects.

When to use it

When supporting several operating systems, use target documentation to distinguish public compilation requirements from private dependencies.

Bazel

Dependency-defined project builds

  • build
  • automation

Research

Buck2

Scalable multi-language build graphs

  • build
  • automation

Research