It's "cmake in role only" - both are build systems, that's where the similarity falls apart.
The syntax is very pythonic, however, I think that's true of many ergonomic centric formats.
There's the 3.0+ CMakeLists.txt syntax, which is a nice declarative target-based system.
There's the *.cmake language syntax for finding dependencies and other scripting, which is a C'thonian horror mix of imperative and declarative bits that the trench coat tries to hide.
Then there's the creepy pre-3.0 stalker, the old syntax for both. Non-target based, imperative bits sneaking in everywhere, makes Autotools look sane.
If you want to make that comparison, meson is more restrictive than cmake, but tends to have more functionality built-in to make up for it.
bazel is more all-encompasing than either, as it's more about reproducible and distributed builds than a "better makefile" type system.