4 ms·
It's interesting that you think CMake is a "dumpster fire". Consider that CMake isn't the only build tool, but has, without question, risen to the top as the pr
by sclangdon 9y ago
It's interesting that you think CMake is a "dumpster fire". Consider that CMake isn't the only build tool, but has, without question, risen to the top as the premier build tool for C++.
Why do you think that is? No doubt you'll say it's because the other options are worse, but I'll just say that I like CMake. I miss CMake when I use other languages and I can set up a complicated project with CMake quicker and easier than I can with other tools.
As always, it's what you know.
- weberc2 9y agoIt's absolutely because the other options for CMake are worse. I don't think my disgust for CMake is entirely predicated on familiarity either--I have much more experience with CMake than I do with Go or Rust's build tools, but I still prefer them. Moreover, as far as I know, none of the new languages are shipping with a fully-imperative, stringly-typed build tool with first class support for dozens of compilers, linkers, package managers, IDEs, version control systems, language libraries, frameworks, precompilers, etc. suggesting they've learned something from hindsight. Instead, the field is narrowing on tools with well-defined responsibilities and interfaces. Instead of knowing about (for example) each compiler, build tools know about a compiler interface that compiler plugins may implement. Instead of writing an imperative script to find your sources, you point your tool to a source directory (if the tool doesn't already assume a convention). Even if 1% of projects need a fully imperative language, it's absurd to foist that on every other project by default. Besides that, I have a lot of criticism for CMake the language, starting with its implicit import mechanism, ridiculous syntax, everything's-a-string, slow execution speed, etc.