Boost logo

Boost :

Subject: Re: [boost] Boost CMake update
From: paul (pfultz2_at_[hidden])
Date: 2017-10-02 15:27:14


On Fri, 2017-09-29 at 21:33 -0700, Robert Ramey via Boost wrote:
> On 9/29/17 10:02 AM, paul via Boost wrote:
> >
> > Hi all,
> >
> > So I have been working at converting more of boost tests to cmake
> > utilizing
> > the BCM library, here:
> >
> > https://github.com/boost-cmake/boost/tree/1.64
> >
> > This is a build of Boost 1.64, with a majority of the tests integrated.
> > There
> > is still much more work needed to update the tests, as there are some that
> > still fail. Also, some of the libraries were skipped due to missing
> > headers in
> > the 1.64 tag. You can check the library yourself by running cmake:
> >
> > cd build
> > mkdir build
> > cmake ..
> > cmake --build . --target check
> >
> > This will build all the tests. You can check the tests for one target
> > with:
> Looking at the serialization library test because I'm familiar with it I 
> see things like:
>
> serialization_archive_test(test_forward_list A)
>
> while in the CMakeLists.txt file I see
>
> [ test-bsl-run_files test_forward_list_ptrs : A  : :  [ requires 
> cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST
>
> In otherwords, the CMake version will run tests which cannot pass.

Currently, the feature checking from Boost.Config has not been implemented
yet, although this could be fix with a simple `check_include_file`. 

Of course, this is just an initial implementation of the tests in cmake. There
are many areas that need updates from authors, especially since they
understand the test cases better than me. So, any PRs(or feedback) are
welcomed to help improve the tests.

>
> >
> >
> > cmake --build . --target check-boost_core
> >
> > Which will run the tests for just `boost_core`.
> >
> > This was all generated using scripts in https://github.com/pfultz2/boost-c
> > make
> Where is the document which describes how to uses these scripts?

https://github.com/pfultz2/boost-cmake

>
> >
> >
> > I plan to update this to a newer version of boost. If anyone has fixes or
> > changes they can send a PR or issue on either repos, and I will try to
> > incorporate them in.
> I think it's a waste of time trying to apply this to all of boost until 
> one has demonstrated that the system actually works on test cases.  That 
> is what we're really going to review here is a library of CMake macros 
> and these need to testable/demonstrably correct independent of any 
> particular libraries.

Well we need to know that the cmake modules are sufficient. There are tests
for BCM itself, but this says nothing about how well it will work with boost
libraries. 

Also, doing this in parallel can help move boost quicker to cmake.

>
> To put it another way:
>
> a) Develop and test the system

Thats what is being done.

>
> If that passes and is accepted
>
> b) Apply to all the libraries desired.

No, apply to all libraries period, as authors of upstream libraries shouldn't
hold back a library from moving to cmake.

.


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