CMake is the premier cross-platform build system for complex software systems. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is both sophisticated and easy to it is possible to support complex environments requiring system configuration, compiler feature detection, pre-processor generation, code generation, and template instantiation using simple platform and compiler independent configuration files. CMake supports testing and is integrated with the DART regression testing system.
CMake is a great tool! However, I really wish they had put the text of this book online instead of making people buy it. It isn't as informative as it could be and it lags way behind features and troubleshooting information, especially for the latest CVS builds.
The book is basically just a big encyclopedia of CMake functions. Doesnt explain in clear detail how they are used. Not good if you want to learn how to use CMake.