CMake certainly has its own set of peculiarities, but sometimes it can work to let you build stuff on Windows with VC++ or plain MinGW without having to use MSYS/Cygwin.
Creating portable software and then distributing it with a Posix only build system seems wasteful.