Boost logo

Boost-Build :

Subject: Re: [Boost-build] build variant output directory
From: Juergen Hunold (juergen.hunold_at_[hidden])
Date: 2008-10-04 12:19:57


Hi Sebastian !

On Friday 03 October 2008 01:34:15 Sebastian Hauer wrote:
> Hello,
> I was just wondering if there is some way of defining a variant's
> build output directory. The current build output directory nesting is
> just to deep for my project. Since I only have one debug variant and
> one release variant having a simple build output directory like:
>
> bin/debug
> bin/release

Well, that's not possible.

> would completely suffice. But instead boost build insists on storing
> everything in directories based on the selected feature set:
>
> bin\msvc-8.0\debug\threading-multi
> bin\msvc-8.0\release\debug-symbols-on\threading-multi
>
> Also notice the additional debug-symbols-on in the release build path
> since I selected to enable debug symbols for release builds.

Okay, here is my solution for this case:
First, to remove "threading-multi" just add

import feature ;
feature.set-default threading : multi ;

to your user-config-jam (or Jamroot, if you want do disable it on a per-project
base.) This will make "threading-multi" the default and thus remove it from
the patch. But be sure to make a complete rebuild afterwards ;-))

The shorten paths even more, define your own variants. This is what I use to
get "Release with Debugsymbols":

# define develop variant
# - without NDEBUG defined (with assert())
# - with debug-symbols
variant develop : <optimization>speed
                  <debug-symbols>on
                  <inlining>full
                  <runtime-debugging>off ;

You can try and see if you can get rid of the compiler using this technique,
too. Or you can make "<debug-symbols>on" the default value for all builds,
using the technique above.

Hope this helps !

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold       ! Ingenieurgesellschaft für 
* voice: ++49 511 262926 57       ! Verkehrs- und Eisenbahnwesen mbH  
* fax  : ++49 511 262926 99       ! Lister Straße 15
* juergen.hunold_at_[hidden]        ! www.ivembh.de
* 
* Geschäftsführer:                ! Sitz des Unternehmens: Hannover
* Prof. Dr.-Ing. Thomas Siefer    ! Amtsgericht Hannover, HRB 56965
* PD Dr.-Ing. Alfons Radtke       !

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