[CMake] a dependency nag/bug

Ken Martin ken.martin at kitware.com
Tue Jul 11 11:56:29 EDT 2006


> >Furthermore could it be made so that the default target in subdirs are
> fast
> >and that you'd have to write something special (like /slow) to make it
> like
> >today.

Personally I tend not to like having the default option be fast (aka unsafe)
although we have debated both sides of it. To me the naïve invocation should
be safe and the special invocation should be the unsafe one. So if someone
types make in a subdir it should properly build the targets of that subdir
including any out of date targets in other directories that they depend on.
Make foo should produce a valid result. Make foo/fast will try to build foo
without updating other targets that it depends on but it may fail to link or
produce an out of date foo depending on the state of those other targets.
The /fast says "I know what I am doing and I am telling cmake to skip some
steps that should normally be done to ensure a properly built target". 

This is an area we are looking to improve (subdir build performance) and I
do not think we are married to any one policy yet.

Thanks
Ken

P.S. the /fast targets are in the subdir Makefile as well. You can do cd
foodir; make foo/fast at least in CVS cmake and I'm pretty sure it is in
2.4.2 as well.




More information about the CMake mailing list