[CMake] make -j and cmake

Jim Chaney Jim.Chaney at geomerics.com
Wed Sep 17 09:47:51 EDT 2008


In case my first post to the list went missing, re-posting.

(If my post did reach the list, help! :)

Jim


From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Jim Chaney
Sent: 12 September 2008 10:54
To: cmake at cmake.org
Subject: [CMake] make -j and cmake

I have been attempting to switch CMAKE from building using nmake (via a customised Microsoft Visual Studio 8 generator) to a cygwin make (using Unix Makefiles generator) in order to use the -j option.  A previous post (http://www.cmake.org/pipermail/cmake/2008-April/021338.html) noted that Bill Hoffman had made a special version of make that fixed/reverted some path/drive letter change in the main CVS branch.

Although the version of make available on the cmake website seems to work OK from the command line, when I then run it under Incredibuild (to move from parallel to distributed builds) I get a crash inside make.exe.  I have spoken to Xoreax (the makers of Incredibuild) and they are interested but unable to assist, as the problem is inside make and not their product.  The logical step then was to make my own debug version of make from the source, but I cannot get the same behaviour from a locally compiled make (using latest CVS as downloaded from Savannah) as I do with the version from the cmake website.

So to the questions:

1)            What modifications were made to the CVS of make?  Is there a certain date I should sync to?  (I notice that it says the -j option only takes effect for that call to make, and subsequent calls have to have -j added to them; I dont think the cmake generated makefile will do this for me, will it?)

2)            When I get 'valid' source, what parameters were used in the config.h?  Most importantly, was HAVE_CYGWIN_MAKE or HAVE_MKS_MAKE defined?


Apologies of this seems tangential, but unless I am misunderstanding the CVS repository make hasn't been released for 2+ years so the change from Bill has never been released...



More information about the CMake mailing list