Hacker ApprovedDepartments

Ninja build system

Hacker Approved

Ranked 5 of 17 build systems by recommenders

Fast, simple build tool that people use as the backend for CMake and Meson; common caveat is that its timestamp-based rebuilds can miss changes.

Fast, simple build tool that people use as the backend for CMake and Meson; common caveat is that its timestamp-based rebuilds can miss changes.

47 people gave an opinion

recommend it
37
criticize it
10
approval share
79%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 37 people recommend itNeeds 10 or more, met.
  • 3.7 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Works well with CMake and Meson

    “Simple CMake projects using the Ninja generator are very efficient, unless you create generated files.”

    Comment from 5 Aug 2026 in “Faster Than Ninja”

    “just installing LLVM, CMake and Ninja is enough to get started developing on Windows”

    Comment from 15 Feb 2026 in “I Fixed Windows Native Development”

    “switched one of my teams firmware projects from make to cmake + ninja”

    Comment from 11 Mar 2026 in “Practical Guide to Bare Metal C++”
  • Fast builds with good parallelism

    “Ninja just generally does the right thing (run parallel build, but not enough parallelism to make the computer unusable).”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

    “What it lacks in features it makes up for with speed, which is what ultimately matters.”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

    “Contrast that with gn and ninja which generate fast and build fast”

    Comment from 4 Jul 2026 in “Show HN: A statically typed, cross-platform, easily bootstrappable build system”
  • Easy to get started

    “native mobile app development with tools like Meson, Ninja or debhelper is a breeze”

    Comment from 4 Feb 2026 in “Xcode 26.3 unlocks the power of agentic coding”

    “Meson/Ninja C project configuration is generally just a handful of lines of text”

    Comment from 30 Dec 2025 in “Fast Cvvdp Implementation in C”

    “it was easy to apprehend, so a rather good experience”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”
  • Simple, does one job well

    “Ninja is possibly the best example of the "Do one thing and do it well" philosophy.”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

    “does its one job well and can be used very flexibly”

    Comment from 5 Aug 2026 in “Faster Than Ninja”

    “It is extremely simple and always works flawlessly.”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

What people warn about

Each mark is one comment

  • Timestamp-based rebuilds miss changes

    “This is just so flawed and simple to fool by operations on filesystem that do not change mtime”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

    “treating timestamps as 'modified' marker makes it useless with Git and large projects”

    Comment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

    “make/ninja suffer from the same output modstamp > input modstamps to rebuild”

    Comment from 5 Aug 2026 in “Faster Than Ninja”
  • Seen as complex and not readable

    “Ninja is purely declarative, and is not even meant to be human-readable”

    Comment from 16 Oct 2026 in “Last rites for Gentoo's Chromium package”

    “I don't really like complex build systems like CMake or Ninja”

    Comment from 23 Mar 2026 in “Show HN: A C/C++ IDE written in C from scratch with zero dependencies”
  • Setup takes effort across tools

    “Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010.”

    Comment from 21 Jan 2026 in “Linux from Scratch”

    “We've come a long way to replace simple Makefile with autotools (incredible monstrocity), cmake, ninja etc.”

    Comment from 7 Feb 2026 in “Software Engineering Is Back”

Other build systems people recommend

The four most recommended other build systems, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Ninja build system compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Bazel794166%123 yrs3 owners—
GNU Make764264%12——
CMake589338%12——
Apache Maven444251%12——
Ninja build systemThis page371079%11—Approved
See all 17 build systems, ranked

What people said

40 of the 52 comments that mention it, newest first. Each links to the original comment.

“Ninja is purely declarative, and is not even meant to be human-readable”

MixedComment from 16 Oct 2026 in “Last rites for Gentoo's Chromium package”

“CMake/ninja already have good modules support”

RecommendsComment from 16 Oct 2026 in “C++26 Contracts: Introduction to Preconditions and Postconditions”

“meson/ninja is a nice combo”

RecommendsComment from 15 Sep 2026 in “Linux from Scratch”

“make/ninja suffer from the same output modstamp > input modstamps to rebuild”

CriticizesComment from 5 Aug 2026 in “Faster Than Ninja”

“Simple CMake projects using the Ninja generator are very efficient, unless you create generated files.”

MixedComment from 5 Aug 2026 in “Faster Than Ninja”

“does its one job well and can be used very flexibly”

RecommendsComment from 5 Aug 2026 in “Faster Than Ninja”

“cmake/ninja work great with latest clang”

RecommendsComment from 25 Jul 2026 in “The PImpl idiom and the C++26 std:indirect type”

“Contrast that with gn and ninja which generate fast and build fast”

RecommendsComment from 4 Jul 2026 in “Show HN: A statically typed, cross-platform, easily bootstrappable build system”

“VC++ and clang latest with MSBuild or CMake/ninja are there”

RecommendsComment from 1 Jul 2026 in “Pystd, similar-ish functionality with a fraction of the compile time”

“get the latest version from git, fixed by https://github.com/ninja-build/ninja/pull/2764”

RecommendsComment from 1 Jun 2026 in “ninja is always recompiling everything”

“vcpkg+ninja, which quite frankly works really well”

RecommendsComment from 13 May 2026 in “I made rust's cargo copy but for CPP”

“you need to configure bear or ninja or whatever to produce a compilation database”

MixedComment from 1 May 2026 in “Zed is 1.0”

“ninja more consistently uses multiple CPUs than GNU make”

RecommendsComment from 31 Mar 2026 in “ninja: a small build system with a focus on speed”

“it worked very nicely indeed”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“What it lacks in features it makes up for with speed, which is what ultimately matters.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“Ninja is possibly the best example of the "Do one thing and do it well" philosophy.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“mtime rebuild logic is half-baked even by 1970s standards.”

CriticizesComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“An under noticed ninja feature I adore, which was implemented relatively recently”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“I have never observed that issue, and I have been using it to build MMLoC repositories.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“ninja fails to detect that file changed from last build”

CriticizesComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“treating timestamps as 'modified' marker makes it useless with Git and large projects”

CriticizesComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“It is extremely simple and always works flawlessly.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“it was easy to apprehend, so a rather good experience”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“This is just so flawed and simple to fool by operations on filesystem that do not change mtime”

CriticizesComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“Postgres uses Meson+Ninja in their builds. That seems like a pretty big endorsement.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“This is cool. Going to see if I can use it at work.”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“to make it even faster with Remote Build Execution”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“since ninja better 'auto-parallelises'”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“Ninja just generally does the right thing (run parallel build, but not enough parallelism to make the computer unusable).”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“by and large I prefer meson/ninja”

RecommendsComment from 30 Mar 2026 in “ninja: a small build system with a focus on speed”

“This should be your default stack on any small-to-medium sized C++ project.”

RecommendsComment from 29 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

“I don't really like complex build systems like CMake or Ninja”

CriticizesComment from 23 Mar 2026 in “Show HN: A C/C++ IDE written in C from scratch with zero dependencies”

“switched one of my teams firmware projects from make to cmake + ninja”

RecommendsComment from 11 Mar 2026 in “Practical Guide to Bare Metal C++”

“just installing LLVM, CMake and Ninja is enough to get started developing on Windows”

RecommendsComment from 15 Feb 2026 in “I Fixed Windows Native Development”

“We've come a long way to replace simple Makefile with autotools (incredible monstrocity), cmake, ninja etc.”

MixedComment from 7 Feb 2026 in “Software Engineering Is Back”

“native mobile app development with tools like Meson, Ninja or debhelper is a breeze”

RecommendsComment from 4 Feb 2026 in “Xcode 26.3 unlocks the power of agentic coding”

“Getting all of LLVM mesa linux cmake ninja glibc gcc binutils xorg KDE to work is more work than in 2005 or 2010.”

MixedComment from 21 Jan 2026 in “Linux from Scratch”

“Other cool tools you can install from pypi”

RecommendsComment from 10 Jan 2026 in “Deno has made its PyPI distribution official”

“Meson/Ninja C project configuration is generally just a handful of lines of text”

RecommendsComment from 30 Dec 2025 in “Fast Cvvdp Implementation in C”

“using a programmatically generated ninja file to be a far superior experience to GNU make”

RecommendsComment from 15 Nov 2025 in “Go's Sweet 16”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.