Skip to main content

why cmake tools

· 13 min read
Kumo maintainer

If you’re a C++ developer, you’ve probably drowned in the abyss of "build hell": scratching your head over nested Makefile syntax, sifting through hundreds of lines to modify a single compile flag; getting tangled in CMake’s target_link_libraries PUBLIC/PRIVATE logic, where writing a simple library configuration file takes longer than the business code itself; or daring to try Bazel, Blade, or Xmake, only to find each tool has its own "jargon system" that demands hours of learning—let alone the ultimate production nightmare: spending half a month troubleshooting dependencies, debugging compile flags, and barely getting a third-party library to work, only to face the "works on my machine" curse. Must building a C++ project require becoming a "build tool expert" first?