<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>

<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7232.77">
<TITLE>RE: [CMake] CMake 2.2 dependency check skip</TITLE>
</HEAD>
<BODY>
<DIV id=idOWAReplyText26637 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>I should be clearer, 
too.&nbsp; It is the first and second parts that I want to skip.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>I agree that skipping the third part makes 
no sense whatsoever.&nbsp; I also&nbsp;agree that by default the second part, 
and probably the first part, should be included by default every time you run 
make.&nbsp; Is skipping the first part new to CMake 2.2?&nbsp; I could have 
sworn that with CMake 2.0 I was able to change CMakeLists.txt in a subdirectory 
and see the effect by running make there.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>Anyway, 90% of the time when I run make, I 
have made just a little change to a source file and I want to refresh the 
binaries.&nbsp; Most of the time I know that the dependencies have not changed 
so I don't want to take the time to have my build system reconfigure 
them.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>Of course, the problems you bring up, Ken, 
are all valid.&nbsp; This argument of what dependency checks should be run could 
quickly turn into a religious war.&nbsp; That is why I'm all for your suggestion 
of the all_nocheck/all_nodepend targets.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>-Ken</FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Ken Martin 
[mailto:ken.martin@kitware.com]<BR><B>Sent:</B> Wed 10/19/2005 11:55 
AM<BR><B>To:</B> 'David Cole'; Moreland, Kenneth<BR><B>Cc:</B> 
cmake@cmake.org<BR><B>Subject:</B> RE: [CMake] CMake 2.2 dependency check 
skip<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>&gt; &gt; The Makefile2 file is only at the top level.&nbsp; I 
would really like to<BR>&gt; &gt; skip the dependency check when compiling one 
of the subdirectories<BR>&gt; &gt; (e.g. ParaView/Server/Filters).<BR><BR>OK, I 
should be clearer here. There are three parts to dependency checking.<BR>There 
is the check_build_system step that is done to verify that files have<BR>not 
been removed or that key files have not been changed. Basically it<BR>checks to 
see if cmake needs to be rerun or if dependencies need to be<BR>regenerated. 
This step is skipped when doing a make from a subdirectory. The<BR>second piece 
is actually computing any out of date dependencies, this cannot<BR>be skipped 
currently to my knowledge. The third step is make's evaluation 
of<BR>dependencies to determine what files should be recompiled. This also 
cannot<BR>be skipped.<BR><BR>So in the end the first step is always skipped for 
subdirs which is a<BR>problem if you are modifying configured files, cmakelist 
files, or removing<BR>files. The third step really makes no sense to skip ever. 
The second step,<BR>well I'm a big fan of having up to date dependencies so I 
really dig the<BR>second step. I've seen many people have problems with their 
program because<BR>they added an ivar to a header file but not all of the object 
files that use<BR>it were recompiled. (bus error, bad ESP, seg fault). So that 
is my take and<BR>the current state. In hindsight I almost think we should not 
skip the first<BR>step even for subdirectories but I'm always open to 
suggestions. We can<BR>always add all_nocheck all_nodepend targets to the subdir 
makefiles.<BR>Thoughts?<BR><BR><BR>Ken<BR><BR><BR></FONT></P></DIV>

</BODY>
</HTML>