[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