4 ms·
> Cargo. The only build and dependency tool that has never annoyed me. What exactly is annoying about other build systems? I asked that questions a few times
by qznc 9y ago
> Cargo. The only build and dependency tool that has never annoyed me.
What exactly is annoying about other build systems?
I asked that questions a few times already and I rarely get concrete answers. This time I just started a public document [0]. Contributions welcome!
[0] https://github.com/qznc/annoying-build-systems https://github.com/qznc/annoying-build-systems
- RazrFalcon 9y agoIf we are talking about C++ then the problem is that there a too many build systems and all of them are incompatible. CMake is quite popular (and maybe most popular) but it's a complete horror in comparison to other build systems, especially for other languages (like Cargo for Rust). If you need some specific example: try to add a git-based dependency with a specific branch in CMake.
- qznc 9y agoMy first idea would be to use git-submodule and keep CMake ignorant of that.
- pjmlp 9y agoBuild systems should be agnostic from source control systems. The unit of dependencies should be other projects or binary libraries.
- qznc 9y agoI'm not sure about that. If you have dependencies to other internal repositories and to specific revisions, it is not clear who is responsible. Make can be agnostic, but Maven or NPM probably can not.
- pjmlp 9y agoMaven surely can. You only depend on binary versions of Java libraries, no source code, as it should be.
- papaf 9y agoI made a pull request for some obvious ones that come to mind. I have blanked out painful memories of cross-compiling protobufs using CMake but will add a description when I can face them.
- j1elo 9y agoWell the first thing I saw there was a critique to Ant because of aesthetics, which I'd argue is a pretty weak reason to avoid a technical tool like this. Most probably, it will make sense to counterargument or discuss some (or most) of the anecdotes that will end up appearing in that document. Seems a fitting use case for Arguman! (I'm not related at all) https://arguman.org https://arguman.org