[CMake] Parallel builds do not work correctly when using "cmake -E copy" to copy files

Alan W. Irwin irwin at beluga.phys.uvic.ca
Wed Feb 6 22:29:15 EST 2008


On 2008-02-06 21:05-0500 Bill Hoffman wrote:

>> Could we have a cmake command-line option to evaluate/diagnose the 
>> complete
>> list of file and target dependencies as understood by cmake? You could 
>> start
>> with a print out of complete target dependency chains and file dependency
>> chains as cmake understands them.  As part of that printout it would be
>> useful to highlight files or targets that are built with few dependencies
>> since that might be a sign of missing dependencies.  And also highlight
>> chains of file depends that include files that are part of other chains of
>> file depends. You could put in some error analysis as well (in case two
>> targets which do not target-depend on each other file-depend on the same
>> file, for example.)
>> 
>> Anyhow, as I went through this dependency hell for PLplot I kept wishing 
>> for
>> such a diagnostic tool, and I think it would be useful for others as well
>> that are dealing with projects like PLplot with complex dependency chains
>> spread over quite a few different directories.
>> 
>> What do you think?
>> 
>
> You could try this:
>
> cmake --graphviz=[file]           = Generate graphviz of dependencies.
>
> It will only show the target level stuff.  It would be another project to get 
> the file level depend stuff to show up.  The problem is that is done at build
                                                           ^^^^ 
> time and not a cmake time.

My first interpretation was "that" referred to graphviz, but in fact the
file was produced at cmake time, and it was a simple matter to process it by
hand using the "dot" command-line tool (even though I had never heard of
that tool or graphviz before). "gv" has errors for both the ps and pdf
results, but I think that is because the latest gv is extra careful about
non-standard ps and pdf files.  xpdf could understand the pdf output, but I
have to say the result is black with dependency lines to a frightening
extent. I can send the pdf file to Brad and/or you off-list if either of you
is interested in being frightened by the PLplot dependencies as well.  :-)

Seriously, I am fairly impressed with the graphviz result, and adding in
the file depends would add a lot of value to the result.

If your "that" refers to file depends instead of graphviz, I don't
understand your comment since surely file depend information is available at
cmake time?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list