Boost logo

Boost-Build :

From: Andre Genereux (andre_genereux01_at_[hidden])
Date: 2005-11-04 10:27:29


The directory structure diagram got messed up because the whitespace
was removed. Here it is again, substituting periods for spaces:

src---|Jamroot
......|
......|---lib1---|Jamfile
......|..........|World.h
......|..........|World.cxx
......|..........|
......|..........|---lib2---|Jamfile
......|.....................|Hello.h
......|.....................|Hello.cxx
......|
......|---app---|Jamfile
................|helloWorld.cxx

--- In jamboost_at_[hidden], "Andre Genereux"
<andre_genereux01_at_y...> wrote:
>
> Consider the following directory structure:
>
> src---|Jamroot
> |
> |---lib1---|Jamfile
> | |World.h
> | |World.cxx
> | |
> | |---lib2---|Jamfile
> | |Hello.h
> | |Hello.cxx
> |
> |---app---|Jamfile
> |helloWorld.cxx
>
> As you may guess, the lib Jamfiles contain lib targets, and the app
> Jamfile contains an exe target.
>
> I want to change the build directory of each one from bin to build
> (for whatever reason). Thus, I place the following at the top of my
> Jamfiles:
>
> project proj-name
> : build-dir build
> ;
>
> The build-project for lib2 could also go in the lib1 Jamfile, the
> effect is identical.
>
> I expect this to do the following:
> lib1 will be built in src/lib1/build/etc...
> lib2 will be built in src/lib1/lib2/build/etc...
> app will be built in src/app/build/etc...
>
> When I run bjam from src, lib1, or app, this is exactly what happens.
> However, if I run it from lib2, lib2 builds in:
>
> src/lib1/build/lib2/gcc...
>
> This is entirely not what I want. It also seems kind of silly that the
> library will built in different directories depending on where you run
> bjam. Is this a bug, or a feature that can hopefully be circumvented?
>
> In case you need them, here are my Jamfiles:
>
> ------------------
>
> src/Jamroot:
>
> project test-proj ;
>
> using gcc ;
>
> build-project lib1 ;
> build-project lib1/lib2 ;
> build-project app ;
>
> ------------------
>
> src/lib1/Jamfile:
>
> project world
> : build-dir build
> ;
>
> lib World : World.cxx lib2//Hello
> : <include>.
> : : <include>. ;
>
> ------------------
>
> src/lib1/lib2/Jamfile:
>
> project hello
> : build-dir build ;
>
> lib Hello : Hello.cxx
> : <include>.
> : : <include>. ;
>
> ------------------
>
> src/app/Jamfile:
>
> project helloworld
> : build-dir build
> ;
>
> exe HelloWorld : helloWorld.cxx ../lib1//World
> : <include>. ;
>
> ------------------
>
> Andre Genereux
>

 


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