Boost logo

Boost :

Subject: Re: [boost] Switch to CMake -- Analysis
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2017-07-29 03:30:13


AMDG

On 07/21/2017 03:32 PM, Mateusz Loskot via Boost wrote:
> On 21 July 2017 at 21:53, Artyom Beilis via Boost <boost_at_[hidden]> wrote:
>>
>> 1. Support of basic features given by any normal REAL WORLD build
>> system barely exists (library search configuration options etc)
>> 2. Documentation isn't good and it was this for years.
>> 3. Knowledge exits only for few people.
>>
>> Do you want a proof? Please find me a tutorial how to search a 3rd
>> part library or complete reference documentation for that.
>
> I'd like to second Artyom's comments here.
> Boost.GIL may serve as another example - with I/O API depending on
> number of external libraries to support raster formats.
>
> Back in 2010, during and long after the GIL review, I remember Christian Henning
> (author and maintainer of GIL) and myself, we were having hard times over long
> months trying to complete the Boost.Build setup for the library.
> I don't remember if eventually Christian released GIL with user
> friendly support for
> third-party libraries.
> I'd been trying to convince myself [1] to like Boost.Build Extensions
> [2] for some time.
>

  I distinctly remember helping Christian with the Boost.Build
support and the modules are present:
https://github.com/boostorg/build/blob/develop/src/tools/libjpeg.jam
https://github.com/boostorg/build/blob/develop/src/tools/libpng.jam
https://github.com/boostorg/build/blob/develop/src/tools/libtiff.jam
https://github.com/boostorg/build/blob/develop/src/tools/zlib.jam
However, the actual test suite seems to be using those
Boost.Build extensions you mentioned (In addition to
hard-coding Christian's local paths).

Usage:
b2 -sZLIB_LIBRARY_PATH=XXX -sZLIB_INCLUDE=YYY
-or-
b2 -sZLIB_SOURCE=ZZZ
-or-
In user-config.jam:
using zlib : 1.2.7 : <search>/a/path <include>/a/path ;
-or-
Do nothing and let zlib be found in the system path.

Inside the Jamfile:

import ac ;
using zlib ;

exe test : src.cpp :
  # If zlib is found...
  [ ac.check-library /zlib//zlib :
    # link to it and also include the sources that use it
    <library>/zlib//zlib <source>code-using-zlib.cpp ] ;

In Christ,
Steven Watanabe


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