I, personally, like CMake.
At work, in one morning I was able to use it effectively, if not of course efficiently and smartly, after having struggled for days with the baroque mess that autotools is.
In the end I had to cave in (as in having someone else do it...) since autotools (plus bitbake plus yocto) is our standard toolchain.
The RP2040/pico SDK is a bit of a red herring, they overcomplicated it "a little bit" - though it sports some nice automation: when you add a library, the include path for the relevant .h is automatically added (had they avoided their maze of twisty little directories, all alike, this would not be a point...
![Banging Head |O](https://www.eevblog.com/forum/Smileys/default/bangheadonwall.gif)
CMake does not force you in that direction).
I use it for my my projects, if only because I really dislike Makefile syntax* and builds with ninja are insanely fast (and you can't write ninja by hand)
For the same project, about 200 kLOC, AMD 5900X: make 12 s, CMake+ninja - including build system regeneration - 2 s (I know, 1 sample is not data).
CMake integration in VS Code (and VS, too!) is extremely good and helpful, this is of course not a virtue of CMake, but still it helps and make for a good experience.
The language is not "pleasant", a bit COBOLesque in verbosity, but it's very flexible, multi platform - my builds are unchanged across Linux, Windows, macOS - and easy to create templates with.
I'm starting to study meson - I like what I've seen so far and might prefer it in the end, but I literally started a handful of hours ago.
* it's slightly ironic to see a number of python "indentation is semantic" bashers sing the praise of makefiles...