Old Wolf wrote:
Mirek Fidler wrote:
Is there anything better than using make for fairly large C++ projects?
Well, depends of kind of project, anyway for our "fairly large"
projects we have developed TheIDE (see http://upp.sf.net). For
really large project it has two advantages:
- provides BLITZ build, which drastically speeds up (with GCC 4x-10x)
debug rebuilds in "root header modification" situation. It works by
combining infrequently used .cpp sources into single one - this way,
headers are compiled just once for all files combined in the group.
Note that this building technique is mutually exclusive with classic
make :)
BLITZ build was not very fast for me. I downloaded UPP (MinGW version)
and built the included "HelloWorld.cpp" program. The debug build took
20 minutes and the release build took 30 minutes. Recompiling after
making no source code changes took 41 seconds.
Well, this is off-topic here and I suggest you to contact U++ mailing
list (or directly us via email present on home-page), anyway I hope
Victor Bazarov will not be that angry, in the end BLITZ is useful
generic C++ technique:
First things first: first build of that example is equivalent to
rebuilding of e.g. QT libraries, so you cannot expect it to happen in
seconds (resulting object/library files are then cached for future
similar rebuilds).
On my machine (I admit that it is not the slowest HW in the world,
AM***@2.4Ghz) it makes full rebuild using MinGW
MinGW with BLITZ 1:13
MinGW without BLITZ 5:43
MSC71 with BLITZ 0:26
MSC71 without BLITZ, with precompiled headers 1:01
Note that release builds have BLITZ deactivatd by default (because
linker better handles smaller object files wrt. elimination of dead code).
Recompilation without source changes took 170ms.
Unless you have 500Mhz Celeron with 64MB RAM, you should no way compile
HelloWorld for 20 minutes and rescan files for 41 seconds. Please
contact us to resolve this issue. (Please really do it, it can be bug in
U++ release...)
Mirek