At 10:32 AM 5/28/2006, Steve Johns wrote: >In another thread, Brandon wrote: > >>CMake is a build system generator; that means the drill is always going to be >>CMake + some other build system. It's never going to be CMake by itself. > >This statement seems to sum up the strength and purpose of CMake. This >strikes me a a big-picture point that I never want to lose sight of. > >As a newbie to CMake, and considering the above, one thing I'd like to get >clearer on is the nature of the ongoing interaction between CMake itself and >the native build system files it generates. > >What I mean is, you don't just run CMake, get a native build system, and then >proceed on in the native environment as if CMake no longer existed. Instead, >the existence of CMake is somehow embedded in the native build systems that >are created, and CMake itself gets re-invoked at various points in the future >by those native builds as you go about extending and maintaining your project. > In fact, your own workflow is required to change somewhat as a result of the >presence of CMake, yes? > >I'd appreciate any commentary, or pointers to commentary, on the ongoing >relationship between CMake and the native build systems it generates. > >In my own terminology, working with CMake adds a meta-level to the model of a >build process, and it is the nature of that meta-level that I'd like to get a >better conceptual grasp on. I don't know if that's a good or a poor way to >put it, but I imagine that someone can grok my intent and offer a few pearls >of insight.
Depending on the native build system CMake can do different things. 1. CMake always puts a hook in, so that if a cmake input file changes, cmake will automatically run on the project. (a user changes a CMakeLists.txt file, cmake will rerun) 2. For native builds that do not provide dependency checking, cmake computes source level depends. 3. In builds where cmake does the depends, cmake makes a run to make sure all the files that are depended on exist, if not, it will force the depend step to re-run. I think that is about it from high level. -Bill _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
