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

Alan W. Irwin irwin at beluga.phys.uvic.ca
Thu Dec 13 22:01:03 EST 2007


On 2007-12-13 18:45-0800 Alan W. Irwin wrote:

> Brad, I am struggling with understanding the recursive make system that
> CMake normally employs so I am having trouble following the complete
> Makefile logic that my simple example creates.  However,
> CMakeFiles/tclIndex_examples_tcl2.dir/build.make generated by my simple
> CMake example seems to follow the above OPTION A scenario.  Indeed, if I 
> execute
> that Makefile directly from the commmand line, e.g.,
>
> make -f CMakeFiles/tclIndex_examples_tcl2.dir/build.make \
> CMakeFiles/tclIndex_examples_tcl2.dir/clean
> make -j 2 -f CMakeFiles/tclIndex_examples_tcl2.dir/build.make \
> CMakeFiles/tclIndex_examples_tcl2.dir/build
>
> there are never double copy problems, while if I run
>
> make clean
> make -j 2
>
> there are always double copy problems.  (You should try this for yourself to
> be sure you can replicate my experience.) So my current working hypothesis
> is there is a parallel build issue for OPTION A that CMake artificially
> introduces when it recursively invokes make (i.e., the result of the
> above "make -j 2" command).

That last sentence was poorly written.  Replace it with the following:

So my current working hypothesis is there is a parallel build issue for
OPTION A that CMake artificially introduces through its generated recursive
make system.  That generated recursive make system is invoked with the above
"make -j 2" command, but bypassed with the "make -j 2 -f CMakeFiles/..."
command above.

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