3 ms·
I really like automake and autoconf it’s not like I don’t know the shortcomings but with a routine (and good templates) it just works and works and works
by wirrbel 4y ago
I really like automake and autoconf it’s not like I don’t know the shortcomings but with a routine (and good templates) it just works and works and works
- bonzini 4y agoI used to like autotools a lot and even contributed to them, but honestly since I started using Meson there has been no going back. It's not perfect and I do have three-four pet peeves that I hate about Meson, but they are more than offset by the overall ease of use and a feature set that matches pretty much what I need from a build system.
- einpoklum 4y ago1. How well is CUDA supported there, for example? 2. What about when your users are on Windows? 3. How easy is it to combine autotools projects?
- wirrbel 4y ago1. dunno never used CUDA. Pretty sure you can hack something together but I am the first to admit that it will be a bumpy ride if you start from 0 2. depends on what you are building. My users run WSL so essentially Linux user space. 3. are you asking for interdependencies? It works in principle I would say, for an elaborate foolproof setup I would anyway use bazel or buck in such a situation.
- einpoklum 4y ago> My users run WSL Ok, what if they weren't? We don't all get to make such calls for our users. Especially if we're writing libraries, which should be usable in Windows software development as well. This is a significant consideration for me in preferring CMake over autotools. > are you asking for interdependencies? It works in principle I would say, for an elaborate foolproof setup I would anyway use bazel or buck in such a situation. Ok, so - while I'm certain that in many cases, autotools is fine, your answers clarify how CMake is a better "swiss army knife". It caters to multiple modes of composition and inter-dependency: build-install-then-find_packages; download dependencies and build during dependent project configuration step; download dependencies and build during dependent project build step; manage dependencies via packager manager (e.g. conan and probably vcpkg); etc. Now, some of these require a bit of care to get right; but they're all tried-and-true. And again, this will work on both Unix-like and Windows-like platforms.
- IshKebab 4y agoAutotools is the most portable build system... if you ignore the most popular desktop OS in the world.