4 ms·
I feel you're grossly exaggerating the current state of affairs. From your list alone, cmake is the de-facto standard. All others are either defunct, abandoned
by rumanator 7y ago
I feel you're grossly exaggerating the current state of affairs.
From your list alone, cmake is the de-facto standard. All others are either defunct, abandoned, or dropped out of favour, or never had any expressive adoption. For instance autotools is largely a relic of back in the days where C++ was C with classes, and Qmake was already dropped by their makers in favour of cmake.
Additionally, some of your entries don't make much sense. For example, ninja is at most a low level alternative to raw makefiles, and in fact tools like cmake are able to generate either makefiles or ninja files, and GYP is just a high-level format designed to generate other build system project files, specially IDE-specific projects such as XCode and Visual Studio project files.
- mcguire 7y ago"For instance autotools is largely a relic of back in the days where C++ was C with classes..." Minor point: autotools is a relic of the days when there were multiple, only somewhat compatible implementation of Unix in common use. Now that the world is a Linux monoculture and most software is installed by end users in the form of pre-built binary packages, the form of portability provided by autotools is no longer needed.
- MaxBarraclough 7y agoThat doesn't sound right. The world isn't a Linux monoculture. Most C++ code I've written has been Linux/Windows. I've never targeted other Unices, but they're out there, and I like to think my portable code would build under FreeBSD with minimal effort.
- rumanator 7y agoI don't agree with you at all. Autotools boil down to a bunch of shell scripts that enable projects to abstract away the OS/distribution while following a somewhat standard structure. And binary packages are completely irrelevant and unrelated, because autotools is a build system, thus designed to help build software. Although the availability of source code packages enabled build systems to be also used as installers, thay does not mean the need for build systems is replaced with plain old installers.
- MaxBarraclough 7y ago> All others are either defunct, abandoned, or dropped out of favour, or never had any expressive adoption. So you're agreeing that, if we see a new challenger succeed, we pay the price of fragmentation? I agree that these sorts of projects rarely gain any real traction. I don't see that the history of autotools is relevant here. It's still very common to see in the wild.