[cmake-developers] [SOLVED] Parallel build of cmake-2.8.3 works for both the "MinGW Makefiles" and "MSYS Makefiles" generators on the wine platform if you avoid using the standalone install target
Brad King
brad.king at kitware.com
Thu Dec 9 10:00:51 EST 2010
On 12/09/2010 09:48 AM, Brad King wrote:
> On 12/08/2010 10:11 PM, Alan W. Irwin wrote:
>> So for both the Linux and wine platforms for all make-related
>> generators the only remaining issue is the important bug that the
>> parallel builds do not work correctly for the standalone install
>> target.
> Please prepare a build tree up to the point where you would be
> about to type "make -j4 install" and see this problem. Then
> tarball it up and send it to me.
Nevermind.
It is a problem specifically with building CMake itself. This code
in cmGlobalGenerator:
if(mf->GetDefinition("CMake_BINARY_DIR"))
{
// We are building CMake itself. We cannot use the original
// executable to install over itself. The generator will
// automatically convert this name to the build-time location.
cmd = "cmake";
}
is the cause. This tricks the custom command dependency tracing
into adding a dependency between the "install" target and "cmake".
This appears in the top-level Makefile as
install: cmake
install: preinstall
It makes the command
make install -j 8
equivalent to
make install cmake -j 8
which is not supported by our Makefiles. We need to add a special
case like that above to block the extra "install: cmake" from
showing up when building CMake itself.
-Brad
More information about the cmake-developers
mailing list