Boost logo

Boost-Build :

From: TEMPLIE Cédric (cedric.templie_at_[hidden])
Date: 2004-12-15 03:24:18


TEMPLIE Cédric wrote:
> 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?
>>

When I used <dependency>, I have the following warning message:

warning: targets produced from export_headers are link incompatible
warning: with main target su_thread

What does it mean ?

>>
>>
>>>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
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>
> 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