The thing I hated about scons was that it is a python script. As a win32 user this was a huge PITA in order to get it working and not something I wanted as part of my development environment. CMake was much better in this reguard (fairly lightweight).
The thing I *hate* about cmake is the developers' unwillingness to code in support to generate a build (makefile/visual studio/xcode) that wont try to regenerate itself (run cmake during the build process). I also dont like that when I change the cmake file and build (from VS) it has to reload itself about three times before it settles down. Maybe the newer revisions of cmake has fixed this. I never got the feeling from the mailing list that kitware had any interest in decoupling their generated solutions from their tool.
Despite all those issues I have with cmake, I still would use it over rolling my own build solution any day. It is excellent at making a makefile that does 90% of what I need, and its fairly trivial to add the missing flags for a specific platform.
Premake (
https://industriousone.com/premake) is what I want to look into whenever I have time to see if I can replace cmake. I like that it uses lua for its input scripts, and I like that it just generates a project that contains no dependencies.