Boost logo

Boost-Build :

Subject: Re: [Boost-build] Cuting project in pieces
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-02-08 11:28:14


AMDG

On 2/8/2011 8:01 AM, Samuel Debionne wrote:
> Thank you for your prompt answer. I was hoping for something like
> "precompiled" properties and dependencies for the parts of the source
> code that do not change often (such as third party libraries).
>

Boost.Build doesn't have a way to cache
that information. It would be pretty
difficult to implement.

>> The only way to do this that I know is to stop
>> tracking dependencies through dependent projects.
>> Basically, you would need to create a forwarding
>> Jamfile like:
>>
>> if --track-all-dependencies in [ modules.peek : ARGV ]
>> {
>> use-project mylib : path/to/mylib ;
>> }
>> else
>> {
>> project mylib ;
>> searched-lib mylib : : <search>... : : /usage-requirements/ ;
>> }
>>
>> Then you can refer to the library as /mylib//mylib.
>
> I'll try something like that. Is there a way to save writing an other
> jamefile to compile the libraries used when track-all-dependencies is
> not set ?
>

You could use:

mylib Jamfile:

project mylib ;

# targets

if --track-all-dependencies in [ modules.peek : ARGV ]
{
     alias mylib : ... ;
}
else
{
     seached-lib mylib : ... ;
}

One issue is that this requires the libraries to
be installed to some standard location. It would
take more work to get it to use the libraries directly
from the build tree.

In Christ,
Steven Watanabe


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