CMake as a language makes PHP look good. Whenever I have to use it, there's a whole lot of warnings and often errors, too. Problem is, the line CMake says had an error may not be the line that caused it. And when everything finally works, in comes a new version that breaks other builds again.
So why does a make need a debugger in the first place? Your build script shouldn't be such a complex program that warrants its own development project.