[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