
Bill Hoffman wrote:
Michael Marcin wrote:
I'm confused as to what CMake actually does. Is it just a generator for various makefile/IDE projects from a common description? Does it do dependency tracking and incremental builds? Does it do MD5 summing? I gave a cursory glance at the website but didn't find my answers.
It does do dependency tracking if the native build system does not already do it.
How does it compare speed wise with other solutions? Fast incremental builds are a very nice thing to have. There have been a few discussions on the sweng mailing list where CMake has been brought up and I don't think I ever saw performance reports for it. Generally the attitude there seems to be that Jam is best and KJam is better than that. How does CMake compare?
For what I read in this thread it sounds like if I'm building my documentation it should spit out a vcproj which and then open and hit build on which then builds my quickbook application and all the libraries it depends on if they don't exist or aren't up to date and then runs quickbook to generate my boostbook xml then runs xlst-proc to generate my html documentation. I don't really understand how that is possible.
It is possible with custom commands in vcproj files. CMake abstracts custom commands so you can pretty much run any tool and produce any output you want. VTK and QT both use code generation. The code generators can be built and then run to create code that is then compiled. So, running executables to produce pretty much any output is possible from CMake, and works with VS IDE, nmake, make, Xcode, etc.
I see. Thanks, Michael Marcin