A legacy app I am working on currenty takes ~2hours to build. The project has about 170 projects with 150 or so being unmanaged C++ and the other 30 C#.Net 2.0.
What are some suggestions on ways to improve build times for something like this?
A legacy app I am working on currenty takes ~2hours to build. The project has about 170 projects with 150 or so being unmanaged C++ and the other 30 C#.Net 2.0.
What are some suggestions on ways to improve build times for something like this?
You may try the distributed build system Incredibuild: http://www.xoreax.com/visual_studio.htm
Focus on the C++ projects - they are almost guaranteed to be the largest time drains for building.
Some tips on getting the C++ build times down:
Aside from that, if you're talking 2 hour build times, often there is a simple, cheap (in a big picture way) solution, as well:
Make multiple solutions for the project that only include relevant subsets of the projects and leave one super solution for releases etc.
If you install IncrediBuild on every machine that needs to build it distributes the build process among all of the machines. If you really want to just throw hardware at the problem you can set up a few dedicated machines that serve only as IncrediBuild clients.
On a different scale, make sure you're every project has pre-compiled headers configured correctly.
You could use a tool like lint to see if you have redundant include files in your c++ projects.
There is also a great article on this subject at Games from Within.