3 ms·
> it's always the build step that does you in Just curious: where exactly is the shell in `cmake -GNinja`? Or is CMake not a build system hmmm? Nevermind that
by almostgotcaught 2y ago
> it's always the build step that does you in
Just curious: where exactly is the shell in `cmake -GNinja`? Or is CMake not a build system hmmm? Nevermind that some people use bazel or meson or something ... other than shell...
Shell scripts in your build system are a code smell. In cpp projects it's covering up for people that don't how to use the actually correct tool for the job: the CMake scripting language.
- yjftsjthsd-h 2y ago> Just curious: where exactly is the shell in `cmake -GNinja`? Or is CMake not a build system hmmm? Nevermind that some people use bazel or meson or something ... other than shell... Right above it; cmake replaces make, but something still runs it. And IME that something is usually either a developer running it from a shell (ideally eventually with another shell command wrapping it to automatically build on file changes) or a CI system running it which is always a massive pile of shell scripts. To be fair, I don't doubt that if you really tried you could build a dev environment that used zero shell. But you would have to really try, and half of the things you had to build to make it work would inevitably converge to an informally-specified, bug-ridden, slow implementation of half of Common Lisp^w^wBASH.
- wiseowise 2y ago> In cpp projects it's covering up for people that don't how to use the actually correct tool for the job: the CMake scripting language. That’s like saying that people use lotion because they don’t know how to correctly jerk off with sandpaper. Bash is ubiquitous and can be used everywhere, CMake scripting language can be used only in CMake, guess how many people know one better than the other?
- almostgotcaught 2y ago> Bash is ubiquitous and can be used everywhere Sorry I wasn't aware bash added task graph features in some release?