CMake List: I'm trying out using Cygwin GNU make to do a .net 2003 build of VXL from the Cygwin bash command line. It seems to take a lot longer than NMake and I'm wondering if anyone knows for sure why or has any kind of solution. Details below ...
Bill Hoffman recently wrote to the VXL Users list: > > Also, if you are adventurous and like the command line.... > > You can use cmake to create makefiles for "Unix Makefiles", but set > CXX and CC to cl. Make sure cl command line environment is setup > 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. 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. 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. I guess this timing difference is due to the fact that make needs to access a lot of files to check timestamps, and doing this through the cygwin DLL, as Cygwin GNU make must, takes much longer than doing it with direct Windows calls, as NMake does. This would really hurt any effort to use Cygwin GNU make to do parallel builds. Does anyone know whether MSYS make works better in this situation? Fred Wheeler CC=cl \ CXX=cl \ "/cygdrive/c/Program Files/CMake 2.4/bin/cmake" \ -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX:PATH="`cygpath -m $DEVTOP/vxl_usr_test`" \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ -DBUILD_VGUI:BOOL=YES \ -DWXWIDGETS_ROOT_DIR:PATH="`cygpath -m ~/dev/wxWidgets-2.6.3`" \ "`cygpath -m $DEVTOP/vxl_src`" time make -k # 197 min time make -k # 15 min "/cygdrive/c/Program Files/CMake 2.4/bin/cmake" \ -G"NMake Makefiles" \ -DCMAKE_INSTALL_PREFIX:PATH="`cygpath -m $DEVTOP/vxl_usr_test`" \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ -DBUILD_VGUI:BOOL=YES \ -DWXWIDGETS_ROOT_DIR:PATH="`cygpath -m ~/dev/wxWidgets-2.6.3`" \ "`cygpath -m $DEVTOP/vxl_src`" MAKEFLAGS=kie time nmake # 83 min MAKEFLAGS=kie time nmake # 4 min ######################################################################## #### _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake