On Fri, Mar 6, 2020 at 2:11 PM Janson R. via Boost
On 06/03/2020 20:02, Peter Dimov via Boost wrote:
It's about libraries that depend on it.
IMO libraries that depend on it would rather have the choice of having it as header-only or compiled and deal with the consequencea of their choice themselves rather than being forced onto a model.
I think Peter is right in this case. Library A which uses library B should not have an opinion on whether library B is consumed as header-only or as a linked library. The decision on how each library in a linked executable is configured should be up to the top-level build target (i.e. the program) and not any of the individual components. This is why the default for libraries which have a header-only configuration, should be a linkable library target, since it creates the least headache. A header-only configuration option is only provided to capture that subset of users who don't want the hassle of integrating another linked library into their build, for whatever reason. It should not be the default, and it should not be encouraged as the status-quo. Regards