[CMake] Cygwin GNU make vs. Nmake for a .net VXL build
Bill Hoffman
bill.hoffman at kitware.com
Wed Dec 6 14:17:40 EST 2006
Wheeler, Frederick W (GE, Research) wrote:
>
>> correctly. Then you can use make -j3 to do the build. Due to a bug
>> in the cygwin make, you have to use this patched one:
>> http://www.cmake.org/files/make.exe
>>
>
> I just took a crack at this, not to be able to build in parallel (w/
> -j3), but to use GNU make instead of NMake from the cygwin command
> line so I can hit ctrl-C and get the build to actually stop. My
> experience with NMake is that if I hit ctrl-C I get a prompt, but the
> build continues in the background.
>
>
The Ctrl-C thing has more to do with the window you run cygwin from. If
you are running cygwin
in the default windows window, cntl-c should work. If you run it in
rxvt it does not work.
> I'm using Windows 2000, MSVC .net 2003, recent cygwin, but with Cygwin
> GNU make 3.80. The most recent Cygwin supplied make (3.81) will not
> work with CMake generated makefiles.
>
>
You can use the binary that I provided in my email and see if it is
faster....
> It works great, except that I'm finding that a VXL build with Cygwin
> GNU make takes a lot longer than one with NMake. With GNU make, my
> initial build from scratch takes 197 min and a 2nd make run that does
> nothing takes 15 min. With NMake, the initial build from scratch
> takes 83 min, and the 2nd make run takes 4 min. The actual commands I
> used are
> below. I wiped the build dir before running cmake in each case.
>
That is not far off from what I am seeing...
nmake on a built cmake tree:
real 0m3.984s
user 0m0.031s
sys 0m0.046s
gmake on a bult cmake tree
real 0m6.110s
user 0m4.643s
sys 0m3.033s
However, with -j I can improve things:
make -j5 on a built cmake tree
real 0m4.109s
user 0m4.752s
sys 0m3.622s
You might be able to use -j N with visual studio 2003, but you have to
change the debug
flags to use the in file debug info, instead of the pde file stuff.
-Bill
More information about the CMake
mailing list