Boost logo

Boost :

Subject: Re: [boost] BCM - Boost CMake Modules request for endorsement
From: paul (pfultz2_at_[hidden])
Date: 2017-09-21 14:39:45


On Wed, 2017-09-20 at 18:26 -0400, Edward Diener via Boost wrote:
> On 9/20/2017 6:01 PM, paul via Boost wrote:
> >
> > Hi,
> >
> > So the Daniel Pfeifer has agreed to be the review manager for the Boost
> > Cmake
> > Modules. I would like ask for an endorsement so we can schedule a formal
> > review for BCM.
> I will make the endorsement.

Thanks

>
> I have also opened the issue of lack of CMake support for testing a 
> compile, and testing a link, ala Boost Build, on the CMake developers 
> list. Robert Ramey, among a few others, was helpful in getting the 
> discussion noticed on the CMake users list and per suggestions there I 
> reiterated my points on the CMake developers list and got an initial 
> acknowledgement there. If others can chime in on the CMake developers 
> list it would be helpful. I understand your code to emulate Boost Build 
> compile tests, and I likewise have suggested a way for bcm to emulate 
> Boost Build link tests, but I considered those solutions more of a 
> kludge than anything, although the best we can do with CMake as it now 
> exists to emulate Boost Build testing. So my effort on the CMake mailing 
> lists is really to get the CMake developers to realize that while CMake 
> has run-time testing, it does not have compile-time testing, which is a 
> reality in the C++ programming world and certainly a reality for a 
> number of Boost libraries.

Although it would be useful to have native features for this, it really is the
lowest priority. The top needed features for cmake are:

- Recording the module for imported targets:

https://gitlab.kitware.com/cmake/cmake/issues/17006

- Having `TARGET_EXISTS` generator expression:

https://gitlab.kitware.com/cmake/cmake/issues/17123

- RPATH emulation for windows when running tests

The first two items are currently emulated or uses workarounds in BCM, and the
last item is on my TODO to finish before an official formal review. 

Ultimately, adding compile-time tests are fairly straightforward compared to
the workarounds needed for these features. Although, I do have a workaround to
deal with parallel compile tests correctly, so a native feature could possible
help if cmake developers are aware of the current issues.

I plan to write a design rational document over how each of these are used,
and what problems they help to solve.

Paul

.


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