xvilka 6 days ago

Even latest CMake version still has that terrible syntax. If they want to survive the competition, at some point they need to provide (an option at least) another, proper syntax.

4
kstrauser 6 days ago

What’s the competition these days? I've never seriously used anything beyond plain old Make for my C/C++ projects, but that's more because they were dead simple and didn't justify the big-project features. What would someone use to build more complex things?

TimorousBestie 5 days ago

Meson and Bazel are the primary contenders in CMake’s market, as far as I can tell.

w4rh4wk5 5 days ago

In the realms of Windows and game development you primarily use Visual Studio Solutions / projects with property sheets. The underlying build system is msbuild.

It is less powerful than CMake and has a relatively steep learning curve due to poor documentation. But once you get the hang of it, it's actually pretty straight forward with just a few pitfalls here and there. You simply have to accept that certain things are not possible... but chances are, these things can't even be done easily in CMake either.

pyjarrett 5 days ago

FASTBuild[0] is super fast for large projects and comes with distributed builds and caching out of the box. It requires a bit of effort to set up, but it supports globbing sources, there's no separate generate build step, and it can also make Visual Studio solutions.

[0]: https://www.fastbuild.org/docs/home.html

cassepipe 5 days ago

I like xmake, it's fast and it's a lua file, so no DSL

https://xmake.io/

bonzini 5 days ago

Either CMake or Meson. If you never felt the need to move beyond Makefiles, Bazel is almost certainly too complex.

whatsakandr 6 days ago

It would be nice if it just became a python interpreter. The concepts and build that CMake has is pretty good, but implementing it is a pain due to the quasi shell syntax.

imglorp 5 days ago

These guys had a competition way back and settled on python.

https://www.scons.org/

AlotOfReading 5 days ago

Never going to happen. The kitware folks are aware of how bad the cmake language is, but they would rather corral it into a semblance of sanity (e.g. actual types rather than everything being stringly typed, eliminating the imperative stuff) than provide a different language.

Have to say I agree. Anyone who wants to use a different language should really look at a different build system. It would about the same amount of pain.

djenndhxhd 6 days ago

Yea no. Syntax is just that, syntax.

If anything is holding back CMake, it's the strongly typed core.

Nevertheless, CMake is simple. There currently nothing convincingly better for the general case.

wiseowise 5 days ago

> Yea no. Syntax is just that, syntax.

If that was the case, Gradle wouldn’t move from Groovy to Kotlin.