I'll add that I evaluate a build system by considering how it caters to the needs of the following categories of user:
1. Project developers
2. End users (who simply want to build the project)
3. Translators (who need rules for extracting, merging and updating translations)
4. Porters (who want to cross compile to another system, or build with a native toolchain on another system)
CMake and other systems that are sadly popular such as SCons or waf, fall over when considering the needs of those who aren't project developers themselves. For all its warts, autotools is the only system that caters adequately to the needs of all of the above groups.