Makefiles generated by automake are more feature rich in general,
which is understandable as its the only backend it has to support.
The main problem here - Postrges do not use automake at all!
Postgres it's autoconf + handmade GNU Make files + perl script for generating old MSVC project from this Makefiles.
"make distcheck"
CMake have no this bad concept, in my opinion, if you want to make the project you should have a full build environment. (but I don't want to argue about it here)
Also, as I wrote before, CMake it's not equivalent of GNU Make or Autoconf, many your reasons based on that fact what CMake, is not a build system it's more like project generation system.
And anyway, you have no option if you want to support Windows without pain and much more hacks ways.