And cmake is the backbone of a lot of other build systems, being so popular. So it makes most Cpp projects straightforward to integrate.
I pull my hair out at this stuff too, but no more than any other tool required for configuring a workspace.
And cmake is the backbone of a lot of other build systems, being so popular. So it makes most Cpp projects straightforward to integrate.
I pull my hair out at this stuff too, but no more than any other tool required for configuring a workspace.
Rust benefits a bunch from second mover advantage here but cargo is just soooo good in comparison. Sane defaults, descriptive commands and stuff like cross compilation that can be hell-on-earth with CMake/etc I find actually easier in cargo + cc crate + build.rs for small/medium libraries.
The package manifest for rust projects isn't as straightforward as some imply, but yeah, better than cmake!
However the comparison isn't totally fair. When building a cmake project, it's muscle memory to go `cmake ..` out of source, then do it again and tab complete to choose the build options. That's 99% of the work I have to do when pulling dependencies.
If you want a turnkey package build, just use vcpkg for Cpp. And guess what, it'll sit right on top of cmake.
What TFA is talking about is a 5% or less workflow: making a new package from scratch when you don't have internet connectivity or don't have a bespoke cmakelists.txt to reference. Makes for a nice blog post, but that's not a common dev workflow.