Boost logo

Boost Users :

From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2019-10-08 16:52:53


On Tue, 8 Oct 2019 at 18:34, Robert Dailey <rcdailey.lists_at_[hidden]> wrote:
> On Tue, Oct 8, 2019 at 11:29 AM Mateusz Loskot via Boost-users <boost-users_at_[hidden]> wrote:
> > Boost is a collection of C++ libraries where each library has a fair bit of
> > freedom of how it is being developed; each has their developers and
> > maintainers who are free to add any build configuration they like as
> > local/internal per the library they maintain.
> >
> > For example, Boost.Beast and Boost.GIL, both header-only libraries,
> > allow their contributors to build tests and examples using CMake.
> > So, CMake-lovers should follow instructions specific to those libraries:
> > https://github.com/boostorg/gil/blob/develop/CONTRIBUTING.md
> > https://github.com/boostorg/beast#building-tests-and-examples
> >
> > If you search carefully, you may even find .sln and .vcxproj files
> > dangling in folders of some libraries. It does not mean you can build
> > whole Boost by opening the .sln file in VS and hitting Ctrl+Shift+B.
> >
> > If there is a maintainer of a Boost library who likes Bazel or Premake,
> > you may see configuration files for those as well.
>
> Thanks for explaining. I figured it would be a little more complicated
> than that because:
>
> 1. This essentially means library maintainers are choosing to maintain
> at least 2 build systems (bjam for overall boost build, + whatever
> preferential build system they use for the library itself).

It is not as difficult or time consuming as one may think.

> 2. Dependency management. Boost.Filesystem depends on Boost.System.
> But what if Boost.System maintainers didn't want to use CMake?

No need to.
If maintainer of Boost.Filesystem wants to offer CMake config for
contributors to his library (I emphasise the word "contributors"),
then it is documented that in order to run CMake,
build whole Boost or Filesystem's deps

b2 --with-system ...

That precisely is what GIL does
https://github.com/boostorg/gil/blob/develop/CONTRIBUTING.md#using-cmake

> To me it is much simpler to use CMake for everything. Not sure why the super
> repo hasn't adopted it yet.

That is your opinion.
You are free to pitch for CMake but this is not the right place.
This one is https://lists.boost.org/boost/

> I recall a project to do CMake for boost that started years ago.

There were at least three such initiatives, if I remember correctly.

Best regards,

-- 
Mateusz Loskot, http://mateusz.loskot.net

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net