Boost logo

Boost :

Subject: Re: [boost] cmake target and binary name mangling
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-07-25 22:11:14


On 25/07/2017 23:01, Peter Dimov via Boost wrote:
> Niall Douglas wrote:
>> I think you're overcomplicating things.
>>
>> If a header only library has a dependency on a non-header only library
>> capable of either static or shared usage, then the header only library
>> simply advertises itself as having static or shared usage only. Not
>> header only.
>>
>> In other words, header only targets means "nothing to link if you use
>> this". Does this make sense now?
>
> The implication is that when a library changes from header-only to
> static/shared, all dependent libraries need to change themselves to
> static/shared too.

I'm not sure if this is a question or a statement. But in either case,
yes it does. If the final library being consumed is static, all
dependencies are static or header only. If the final library being
consumed is shared, all dependencies are shared or header only.

95% of end users are probably okay with this default. Unusual needs like
people who want static libraries of shared-ready code suitable for a
final assembly into some monolithic shared library are likely niche
users we need not consider deeply.

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk