From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-09-15 14:48:37
Ralf W. Grosse-Kunstleve wrote:
> --- Larry Evans <cppljevans_at_[hidden]> wrote:
>>it appears that scons requires the user to decide to separate
>>the different variant buids into different directories, and
>>the directory names also have to be specified by the user.
>>In constrast, bjam does this for the programmer, IIUC.
> That's probably right.
> I cannot afford/never wanted variant builds. On the fastest machine with 8 CPUs
> our build from scratch takes about 5 minutes. On the slowest machine with 1 CPU
> it takes about 10 hours. For one variant. Maintaining multiple variants would
> be impractical. Therefore to me bjam's creative directory trees seemed overly
> complicated. It is hard to find the results of a build.
What I tend to do is use the install feature :) For example:
exe hello : hello.cpp ;
install built_files : hello ;
That way, I only need look in one place :). If I need the intermediate
files, I can look in the complicated nested directory structure. I also
project myproj : : build-dir ../build ;
To place all the intermediate files in one place.
Variant builds are debug vs release. Doing a debug build is extremely
useful at tracking down bugs, especially with a visual debugging tool
like the MS VS IDE.
The other directory structure is to seperate out compilers/compiler
versions, making it easier for cross-platform development (i.e. you can
do the Windows, Linux and Mac builds on one machine in a single step,
then use the install feature to place the windows, linux and mac binaries).
Granted, this is a bit of overkill if you only have one variant and
platform to build for!
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk