Thanks, I was curious what are the main differences to Meson (the only general build system so far that I enjoyed using). From these past discussions I gathered:
Xmake's biggest advantage: it's a single binary (vs Meson requiring Python)
Meson's biggest advantage (aside from popularity): it's a declarative DSL rather (vs including a full-blown programming language like Lua in Xmake)
(The second point is subjective, I know some think that including a full programming language is a strength but to my eyes it's a downside that largely outweighs the Python dependency.)
> Meson's biggest advantage (aside from popularity): it's a declarative DSL rather
I personally don't consider this an advantage. We've ran into the limitations of a DSL way too often at work and at this point I prefer just having a plain programming language as an interface. This way you don't have to learn a custom DSL with its own quirsk, you always have the escape hatch of just writing custom code, and it tends to be less quirky.
I find that C and C++ need nontrivial code generation or environment tuning often enough that you really want a Turing complete expression syntax available.
There is the largely feature compatible muon¹ re-implementation that doesn't require Python, it is packaged in a few distributions too. As in all things of this nature there are some caveats².
It is actually pretty useful to have installed alongside meson, even if just for access to the manpages as documentation.
Xmake's biggest advantage: it's a single binary (vs Meson requiring Python)
Meson's biggest advantage (aside from popularity): it's a declarative DSL rather (vs including a full-blown programming language like Lua in Xmake)
(The second point is subjective, I know some think that including a full programming language is a strength but to my eyes it's a downside that largely outweighs the Python dependency.)