What are the best build systems for C/C++?

What are the best build systems for C/C++?

Attached: wojenkowojenko.jpg (400x533, 46K)

Cmake lmao

Attached: 1542629541458.png (1004x1000, 404K)

Meson

This.

My personal opinion: They're all really bad. They're either overcomplicated (CMake), slow (scons), unportable (GNU Make, BSD Make) or too barebones (ninja)

ninja isn't supposed to be a build system you write directly. It's designed to be generated by higher-level build systems.
It's significantly faster than GNU make, due to it not having to spawn shells for literally fucking everything and it has its whole dependency graph ahead of time.
Meson is a great build system (generator) that spits out ninja files. CMake does too, but as you noted, CMake is shit.

msbuild of course.

GNU make

>cmake
>overcomplicated
user, are you a brainlet?
cmake

Attached: wow_anon.jpg (884x574, 78K)

shell scripts

shitty design decision doesn't make something good

>cmake is overcomplicated
Wot in retardation

Use cmake. Its much easier than autoconf

Czemu postujesz zdjęcia dziewczyny z wykopu chorej na SM ty pierdolony spermiarzu

I had to cross-compile a clang cross-compiler. cmake is not simple. That is really the problem with build systems. Brainlets that think that people only use their systems in the most conventional way hide the functional details of their system. Then if you try to build the software in any odd way shit goes sideways. At least a gnu makefile is mostly straightforward. Its why meson will always be shit. Its entire objective is to hide things from the user. cmake is the same way. Anything that dumbs down the build process to a scroll bar showing % done has made a fundamental error. I want to see the actual build arguments and the compiler warnings by default - as should any developer.

I very much agree with you. Most build systems suck when you want to do weird things.

Interestingly though, autotools is the one build system I know of that does all those arcane special cases exactly right. It does not give a fuck if you want to cross compile something that wants to run just-built binaries during compilation, or you have three different include and link paths for different parts of your build that should not come in contact with each other. For all that autotools is horrible, it's the only tool that is autistically perfect about the special cases.

Zebys mial bol dupy

Rake

Coming from a Java background using Gradle and maven, cmake and scons seem over-engineered. Particularly, getting cmake to play nice with msbuild has been an absolute pain and I'm having a much simpler experience time using gnu make.

qmake+make but any other make system works.
>only faggots use maven or gradle
>confusing compiler output with make output
>lmao

I just use Eclipse managed build for everything. If I want to build without the IDE, I write a custom python script. Basically scons but not retarded.

Bazel + Nix

ew, eclipse, pajeet please not here