you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 6 days ago* (2 children)

Out of curiosity, why do you consider CMake to be the better choice compared to Meson?

Personally I landed on Meson a few years ago, from what I remember chiefly due to simply not liking CMake's DSL and finding Meson easier to work with, despite needing to target a pretty old version for the sake of compatibility. Though Meson is definitely not perfect either; it's highly opinionated, and for example only recently got support for custom build targets putting stuff in sub-directories (as I discovered while writing this comment), so I'll personally be stuck with my workarounds for a good while longer

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 6 days ago (1 child)

    I was never convinced by Meson's value proposition. From what I remember, it was always just meant to reinvent CMake with a different DSL. Like, literally just CMake but slightly different.

    I understand CMake's DSL isn't the prettiest, but as far as improving ergonomics of a build system, minimizing the amount of build scripts you write is far more effective than changing the syntax. If you find yourself writing too much CMake in a project, then switching to a build system with a different design (eg Bazel, Scons, Waf, ...) is probably the better choice.

    And of course, since Meson is just a CMake clone, it's always going to be compared to it, and its always going to have to compete on features. On that front, CMake has always been ahead, and I don't see that changing. So in the end, Meson is just another example of that one XKCD meme about standards.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 6 days ago

    Thank you for the answer!

    I have not previously heard Meson described as a reinvention of Cmake or a CMake clone, nor that it was meant to be. I would think that Meson being as opinionated as it is, including for example the fact that it does not and will not support user-defined functions, precludes it from being a CMake clone. It seems instead to be a build-system with a rather different philosophy and feature-set compared to Cmake. But if that philosophy or that feature-set does not match your needs, then there's obviously no reason to pick it over CMake

  • source
  • parent