Boost logo

Boost-Build :

From: TEMPLIE Cédric (cedric.templie_at_[hidden])
Date: 2004-12-14 06:08:43


Thx a lot :)

TEMPLIE Cédric

Vladimir Prus wrote:
> On Monday 13 December 2004 16:09, TEMPLIE Cédric wrote:
>
>>Hi,
>>
>>I do not understand all the boost build system.
>>I have a kind of structure like that (This is a global view, a developer
>>may have only the Project2 and Build view):
>>
>>+--- project-root.jam
>>+--- JamFile
>>+--- Project1/ #Nothing to compile in this project, only copy files to
>> Build dir
>>
>> +--- JamFile
>> +--- lib/ (contains libraries)
>> +--- include/ (contains headers)
>>+--- Project2/
>>
>> +--- JamFile
>> +--- sources/ (contains sources)
>>
>>+--- ProjectX/
>>
>> +--- JamFile
>> +--- sources/ (contains sources)
>>
>>+--- Build/
>>
>> +--- include/ (contains header files)
>> +--- lib/ (contains libraries)
>> +--- bin/ (contains dll and exe)
>>
>>All of my build results should go to the appropriate directory of the
>>build directory.
>>
>>I need to define some variables (BIN_ROOT, INCLUDE_ROOT, LIB_ROOT),
>>where have I to put these variable definition (in project-root.jam, or
>>JamFile of the root) ?
>
>
> If you're using 2.0-m10, you need to add "path-constant" invocation to
> project-root.jam.
>
> path-constant BIN_ROOT : whatever ;
>
> If you're using CVS version, you can add this either to project-root.jam or to
> Jamfile. In fact, you better have one file called Jamroot at top-level, and
> don't bother with difference between project-root.jam and top-level Jamfile.
>
>
>
>>Each project look in Build/include for headers, Build/lib for libraries
>>and in Build/bin for dlls.
>>
>>Project2 needs Project1 to compile.
>>What I want is, when I build Project2, it builds Project1 (Building
>>Project1 is copying files and libs in the Build dir) then Project2 can
>>be built.
>
>
> project Project2
> : requirements <dependency>..//Project2
> ;
>
> might be enough?
>
>
>>If Project2 build succeed, I copy headers in the Build/Include directory.
>>
>>Moreover, if the developer who want to build Project2 does not have the
>>Project1 directory, there is a mistake. So I want to specify that
>>Project1 is /Project1 when the directory is here, and is only the
>>library in Build/lib when the Project1 directory is undefined on the
>>developer computer.
>
>
> You can check for directory existence with the glob rule.
>
> Jamfile:
>
> if [ glob ../Project1 ]
> {
> .........
> }
>
> The argument to 'glob' is a pattern relative to Jamfile location.
>
> HTH,
> Volodya
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>

 


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