Quick Jow Forums, tell me what is your favorite build system!

Quick Jow Forums, tell me what is your favorite build system!

Attached: 1*cqyLJb_fxfjLu_d_UUq3tQ.png (2560x876, 841K)

cmake or scons

i use cmake, but its not something id say i like doing

Attached: 22949.jpg (435x326, 27K)

Despite his ass-backwards syntax, make. There is absolutely nothing you can't do with make targets and recipes, but it takes real understanding of the special variables and functions to achieve this.
cmake is fine to use, but is based on absolutely insane codebase and dependencies detection.
Above all, avoid autotools.

None, because they still fail to detect all dependencies and the compile won't finish regardless. Also, they are a PITA.

### Functions ###
range = $(if $(filter $1,$(lastword $3)),$3,$(call range,$1,$2,$3 $(words $3)))
make_range = $(foreach i,$(call range,$1),$(call range,$2))
equal = $(if $(filter-out $1,$2),,$1)


### Variables ###
limit := 101
numbers := $(wordlist 2,$(limit),$(call range,$(limit)))

threes := $(wordlist 2,$(limit),$(call make_range,$(limit),2))
fives := $(wordlist 2,$(limit),$(call make_range,$(limit),4))

fizzbuzz := $(foreach v,$(numbers),\
$(if $(and $(call equal,0,$(word $(v),$(threes))),$(call equal,0,$(word $(v),$(fives)))),FizzBuzz,\
$(if $(call equal,0,$(word $(v),$(threes))),Fizz,\
$(if $(call equal,0,$(word $(v),$(fives))),Buzz,$(v)))))


### Target ###
.PHONY: all
all: ; $(info $(fizzbuzz))

Manually maintained Makefiles are a pain in the ass to maintain and develop. autotools/autoconf is horrible, but it beats dealing with make directly when you need to do crosscompiling and stuff. I've used cmake for a bunch of my own projects, and 3 and newer is legitimately nice. Not sure how it is to use for crosscompiling though?

*teleports behind you*

Attached: 1531535512367.png (638x479, 276K)

redo

What’s the benefit of cmake over make?
Can’t you have arbitrary shell scripts in makefiles

npm :)

Attached: npm.png (1280x498, 3K)

yeah, we needed an assets functionality, that if the files are not on the system, download it from the data server.

Funny enough this is not perfect in CMake and after a few days we just written a simple makefile that does all that. Easy to use and fully automatic.

They all suck. I find autotools and cmake suck the least.

>I've used cmake for a bunch of my own projects, and 3 and newer is legitimately nice. Not sure how it is to use for crosscompiling though?
It can do limited forms of cross compiling, but if you want to go all the way you run into fundamental limitations. For projects that feature complex cross compiling, autotools is king. And sadly, that's really quite a few projects.

Make. I'm too dumb for CMake.

>Can’t you have arbitrary shell scripts in makefiles
you need to have them stand-alone, make doesn't play well with shell syntax

Cargo

It just werks.

why is it called ninja
that's pretty faggy

use premake...

F5

CMake is one level higher.

Pretty much all IDEs worth mentioning support CMake, plus the all meme text editors have CMae plugins too.
Actually being able to target Windows without fiddling around with WSL or MinGW.
Easier time setting up libraries and having your own directory tree than with pure Make.

cargo

For C and C++, CMake is king.

Just makefiles. I don't like bloat.

How

it generates makefiles for other make systems

How do you learn to use this shiet

Is there a point in having multiple make systems

cmake sucks the least, so it gets my vote

I used to like make until I had to compile a CV program from source a few years ago.
There were like 8 makefiles in the directory tree, some of them over 500 characters long.
Some of then had to be edited by hand to set the parameters, others read from a file with "options" anothers changed their behavior due to environment variables. A few of them use two or three different methods. The cat of the README and the Install files together was half a screenful.
Lots of undocumented options.
You were supposed to call make at top level and it would go recursively calling the other makefiles.
After three days I ended up getting the Windows binaries and calling it a day.

by talking with people who know how to use it, because the documentation is a dumpster fire.

No, but all of them suck, so people keep making new ones.

Is there a point?

Attached: Screenshot_214[1].jpg (600x583, 50K)

stack