Informal CMake meeting at CPPCon

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Informal CMake meeting at CPPCon

Boost - Dev mailing list
Thursday 28 Sept 8 AM at CPPCon a small group of us met to talk a little
regarding the situation regarding support of CMake by Boost.  I promoted
this meeting as I've been concerned that the only discernible results of
the recent Boost Steering Committee announcement on the subject was a
certain level of antagonism among boost members regarding the subject.

Participants
============
Robert Ramey (me)
Rene Rivera
Vinnie Falco
Louis Dionne
David Sankel
Matt Calabrese

This was a small but I think a representative group. After some
preliminary back and forth, I think we agreed:

a) Nothing was going change regarding the current build system until
there was a real alternative in place.

b) That we should support serious proposals to implement CMake support
within boost.

c) And that any such proposals should go through the Boost formal review
process.  Traditionally, the boost formal review process has never
applied to boost tools so this would be a departure from traditional
practice.

d) Questions regarding the scope/implemention of such support for CMake
can be handled within the formal review process.

e) Other questions regarding support CMake and Boost, transition to new
system, related requirements on boost libraries, etc. can be better
addressed once we have some sort of consensus on the form that CMake
support will take.

I had contacted Paul Fultz who is the only one I know of that has
proposed something specific to submit to formal review.  He told me he
couldn't do it at the time, but shortly there after posted such a
request on the list.  So I guess for now we're on our way.

My motivation for posting this is to keep the boost community up to date
on what's happening so that no one gets overly surprised when things
start to happen.  I'm not really soliciting feedback - though it
wouldn't surprise me if I get some.

Robert Ramey





_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On 10/2/17 9:04 AM, Robert Ramey via Boost wrote:
> Thursday 28 Sept 8 AM at CPPCon ...


correction: Friday 29 Sept 8 AM at CPPCon ...

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
Hi Robert,

thanks for the update !

On 02.10.2017 12:04, Robert Ramey via Boost wrote:

> Thursday 28 Sept 8 AM at CPPCon a small group of us met to talk a
> little regarding the situation regarding support of CMake by Boost.  I
> promoted this meeting as I've been concerned that the only discernible
> results of the recent Boost Steering Committee announcement on the
> subject was a certain level of antagonism among boost members
> regarding the subject.
>
> Participants
> ============
> Robert Ramey (me)
> Rene Rivera
> Vinnie Falco
> Louis Dionne
> David Sankel
> Matt Calabrese
>
> This was a small but I think a representative group. After some
> preliminary back and forth, I think we agreed:
>
> a) Nothing was going change regarding the current build system until
> there was a real alternative in place.
>
> b) That we should support serious proposals to implement CMake support
> within boost.
>
> c) And that any such proposals should go through the Boost formal
> review process.  Traditionally, the boost formal review process has
> never applied to boost tools so this would be a departure from
> traditional practice.
>
> d) Questions regarding the scope/implemention of such support for
> CMake can be handled within the formal review process.
>
> e) Other questions regarding support CMake and Boost, transition to
> new system, related requirements on boost libraries, etc. can be
> better addressed once we have some sort of consensus on the form that
> CMake support will take.

Have you discussed the possibility for the two (Boost.Build and CMake)
to coexist, by modularizing the build infrastructure such that some
libraries might switch to CMake while others might continue using
Boost.Build ? I continue to believe that there is no real alternative to
such an approach, as you can't coerce anyone into migrating to a new
tool, you can only offer a new tool and hope that people will
(eventually) migrate.

Thanks,
        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
<[hidden email]> wrote:
> Have you discussed the possibility for the two (Boost.Build and CMake)
> to coexist...

David Sankel made it pretty clear that in the "final solution", CMake
will be mandatory and Boost.Build will be optional. Unless I
misunderstood (David, feel free to correct me).

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On 02.10.2017 12:22, Vinnie Falco via Boost wrote:
> On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
> <[hidden email]> wrote:
>> Have you discussed the possibility for the two (Boost.Build and CMake)
>> to coexist...
> David Sankel made it pretty clear that in the "final solution", CMake
> will be mandatory and Boost.Build will be optional. Unless I
> misunderstood (David, feel free to correct me).

Good luck convincing the whole community to adopt that.

        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 10/2/17 9:16 AM, Stefan Seefeld via Boost wrote:

> Have you discussed the possibility for the two (Boost.Build and CMake)
> to coexist, by modularizing the build infrastructure such that some
> libraries might switch to CMake while others might continue using
> Boost.Build ? I continue to believe that there is no real alternative to
> such an approach, as you can't coerce anyone into migrating to a new
> tool, you can only offer a new tool and hope that people will
> (eventually) migrate.

That happens to be my position as well - see my presentation boost 2.0
from a couple of years ago.  But it's pretty clear that that's a
minority opinion.  It's also clear that there is no point in doing much
of anything until we have  clear idea how CMake is to be used in the
context of boost.

I'm looking for something that we can agree on so some progress can be
made.  I'm please that reached a concensus that proposed tools should go
through a review process similar to that of libraries.  I think this
will be a positive step in helping boost move forward.

Robert Ramey

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On 02.10.2017 13:06, Robert Ramey via Boost wrote:

> On 10/2/17 9:16 AM, Stefan Seefeld via Boost wrote:
>
>> Have you discussed the possibility for the two (Boost.Build and CMake)
>> to coexist, by modularizing the build infrastructure such that some
>> libraries might switch to CMake while others might continue using
>> Boost.Build ? I continue to believe that there is no real alternative to
>> such an approach, as you can't coerce anyone into migrating to a new
>> tool, you can only offer a new tool and hope that people will
>> (eventually) migrate.
>
> That happens to be my position as well - see my presentation boost 2.0
> from a couple of years ago.  But it's pretty clear that that's a
> minority opinion.  It's also clear that there is no point in doing
> much of anything until we have  clear idea how CMake is to be used in
> the context of boost.
>
> I'm looking for something that we can agree on so some progress can be
> made.  I'm please that reached a concensus that proposed tools should
> go through a review process similar to that of libraries.  I think
> this will be a positive step in helping boost move forward.

It is indeed. Thanks to you all to try to resolve this problem.

        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
> c) And that any such proposals should go through the Boost formal review
> process.  Traditionally, the boost formal review process has never
> applied to boost tools so this would be a departure from traditional
> practice.

There is good reason why tooling doesn't go through a formal review
process, it could never pass a formal review.

I think requiring a cmake conversion to pass a formal review is an
impossible ask. The cmake conversion will never reach the quality of the
Boost.Build one in any reasonable time period, and moreover, everything
keeps shifting with time.

I'd support a simple majority, yay or nay vote for the proposed cmake
design. Without commentary or review. Makes things feasible. And a
second simple majority yay or nay for when Boost.Build is to be turned
off (if ever).

Niall

--
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On 02.10.2017 14:20, Niall Douglas via Boost wrote:
>> c) And that any such proposals should go through the Boost formal review
>> process.  Traditionally, the boost formal review process has never
>> applied to boost tools so this would be a departure from traditional
>> practice.
> There is good reason why tooling doesn't go through a formal review
> process, it could never pass a formal review.

I think that depends on the goal (and metric) of such a review.
> I think requiring a cmake conversion to pass a formal review is an
> impossible ask. The cmake conversion will never reach the quality of the
> Boost.Build one in any reasonable time period, and moreover, everything
> keeps shifting with time.

True enough.

> I'd support a simple majority, yay or nay vote for the proposed cmake
> design. Without commentary or review. Makes things feasible. And a
> second simple majority yay or nay for when Boost.Build is to be turned
> off (if ever).

I believe you are reaching the wrong conclusions from the above: It's
not because a community as big and heterogeneous as Boost can not agree
on whether to switch to CMake or to stay with Boost.Build that anyone
has the right (or simply the power !) to coerce everyone into accepting
a decision made by a few nonetheless.
It's simply that the goal is ill-conceived. This is Open Source; it is
powered by the people who contribute to and maintain all the projects.
You can cheer-lead infrastructure efforts all you want, you do have to
accept the decision of those who do the work. (And to be very clear, let
me repeat: by "work" I'm not merely referring to the work of migrating,
but that of maintaining and simply using the infrastructure day-to-day.)
Any effort to help improve our (developers' and maintainers') workflow
is *highly* appreciated. But as soon as it's a hindrance rather than
help, I have to say: please get out of the way.

So, to end on a positive note: I appreciate Robert's mail as it conveys
a sense of trying to find consensus. I hope we can build on top of that.

Thanks,
        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 10/2/2017 12:04 PM, Robert Ramey via Boost wrote:

> Thursday 28 Sept 8 AM at CPPCon a small group of us met to talk a little
> regarding the situation regarding support of CMake by Boost.  I promoted
> this meeting as I've been concerned that the only discernible results of
> the recent Boost Steering Committee announcement on the subject was a
> certain level of antagonism among boost members regarding the subject.
>
> Participants
> ============
> Robert Ramey (me)
> Rene Rivera
> Vinnie Falco
> Louis Dionne
> David Sankel
> Matt Calabrese
>
> This was a small but I think a representative group. After some
> preliminary back and forth, I think we agreed:
>
> a) Nothing was going change regarding the current build system until
> there was a real alternative in place.
>
> b) That we should support serious proposals to implement CMake support
> within boost.
>
> c) And that any such proposals should go through the Boost formal review
> process.  Traditionally, the boost formal review process has never
> applied to boost tools so this would be a departure from traditional
> practice.
>
> d) Questions regarding the scope/implemention of such support for CMake
> can be handled within the formal review process.
>
> e) Other questions regarding support CMake and Boost, transition to new
> system, related requirements on boost libraries, etc. can be better
> addressed once we have some sort of consensus on the form that CMake
> support will take.
>
> I had contacted Paul Fultz who is the only one I know of that has
> proposed something specific to submit to formal review.  He told me he
> couldn't do it at the time, but shortly there after posted such a
> request on the list.  So I guess for now we're on our way.
>
> My motivation for posting this is to keep the boost community up to date
> on what's happening so that no one gets overly surprised when things
> start to happen.  I'm not really soliciting feedback - though it
> wouldn't surprise me if I get some.
>
> Robert Ramey

Paul Fultz's work to convert Boost Build jam files to CMake
CMakeLists.txt files should be valued highly, as well as his bcm CMake
modules. It is still missing some features, of which the most prominent
I noticed is lack of support for Boost Build conditional requirements,
but it is certainly a worthy undertaking. It is possible that no parsing
can flawlessly convert Boost Build jamfiles to CMakeLists.txt files, but
the effort is certainly worth the results.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 10/2/17 11:20 AM, Niall Douglas via Boost wrote:
>> c) And that any such proposals should go through the Boost formal review
>> process.  Traditionally, the boost formal review process has never
>> applied to boost tools so this would be a departure from traditional
>> practice.
>
> There is good reason why tooling doesn't go through a formal review
> process, it could never pass a formal review.

I don't think anyone can know that.
>
> I think requiring a cmake conversion to pass a formal review is an
> impossible ask.

Doesn't seem impossible to me.

> he cmake conversion will never reach the quality of the
> Boost.Build

I think that we're here because many believe that CMake has always been
a better alternative than boost build.

> one in any reasonable time period, and moreover, everything
> keeps shifting with time.

everthing always shifts with time.

> I'd support a simple majority, yay or nay vote for the proposed cmake
> design. Without commentary or review. Makes things feasible. And a
> second simple majority yay or nay for when Boost.Build is to be turned
> off (if ever).

Hmmm - the boost review process is certainly nothing like a simple
yay/nay vote.  This is exactly the reason that the boost librarys are
considered among the best.

Also, there has not been actually been any cmake design submitted.  Paul
has indicated that he believes that it is unnecessary to do this.  So
under these conditions, no boost-like review could be conducted.  So we
are again at a stand still.

It's a golden opportunity for anyone who want's to submit their own
proposal for usage of CMake in Boost.

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

[SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
Boost - Dev mailing list wrote
> [...]
>
> My motivation for posting this is to keep the boost community up to date
> on what's happening so that no one gets overly surprised when things
> start to happen.  I'm not really soliciting feedback - though it
> wouldn't surprise me if I get some.
>
> Robert Ramey

Thank you Robert for the update to the mailing list!

I think this makes perfect sense and I support what you've outlined. More
specifically, here's how I see things: BCM (and any other competing
proposal) should go through a formal review. If we agree that BCM is the
right way to support CMake in Boost, it can be accepted as a "library"
(although a CMake library) as a result of the formal review process.

It will then be up to the community to start writing their CMakeLists.txt
files, using BCM for convenience and to enforce coherency amongst the Boost
libraries. That being said, my understanding is that Paul has already done a
lot of work in that direction, and it would be wise to reuse it. I do think,
however, that the actual CMakeLists.txt in each Boost library is a
completely different matter than BCM, which is the library that will be put
up for review.

Louis




--
Sent from: http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

[SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
Boost - Dev mailing list wrote
> On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
> &lt;

> boost@.boost

> &gt; wrote:
>> Have you discussed the possibility for the two (Boost.Build and CMake)
>> to coexist...
>
> David Sankel made it pretty clear that in the "final solution", CMake
> will be mandatory and Boost.Build will be optional. Unless I
> misunderstood (David, feel free to correct me).

I don't remember anyone making that statement.

Louis




--
Sent from: http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On Tue, Oct 3, 2017 at 8:18 AM, Louis Dionne via Boost
<[hidden email]> wrote:
> I don't remember anyone making that statement.

Will Boost.Build be required for new libraries?

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On Mon, 2017-10-02 at 20:31 -0700, Robert Ramey via Boost wrote:

> On 10/2/17 11:20 AM, Niall Douglas via Boost wrote:
> >
> > >
> > > c) And that any such proposals should go through the Boost formal review
> > > process.  Traditionally, the boost formal review process has never
> > > applied to boost tools so this would be a departure from traditional
> > > practice.
> > There is good reason why tooling doesn't go through a formal review
> > process, it could never pass a formal review.
> I don't think anyone can know that.
> >
> >
> > I think requiring a cmake conversion to pass a formal review is an
> > impossible ask. 
> Doesn't seem impossible to me.
>
> >
> > he cmake conversion will never reach the quality of the
> > Boost.Build
> I think that we're here because many believe that CMake has always been 
> a better alternative than boost build.
>
> >
> > one in any reasonable time period, and moreover, everything
> > keeps shifting with time.
> everthing always shifts with time.
>
> >
> > I'd support a simple majority, yay or nay vote for the proposed cmake
> > design. Without commentary or review. Makes things feasible. And a
> > second simple majority yay or nay for when Boost.Build is to be turned
> > off (if ever).
> Hmmm - the boost review process is certainly nothing like a simple 
> yay/nay vote.  This is exactly the reason that the boost librarys are 
> considered among the best.
>
> Also, there has not been actually been any cmake design submitted.  Paul 
> has indicated that he believes that it is unnecessary to do this.  So 
> under these conditions, no boost-like review could be conducted.  So we 
> are again at a stand still.

No that is not what I am saying at all. The BCM which is like a "library" for
cmake will go through a formal review process. 

Then after its accepted the cmake build files using BCM will go through an
"open" review process and then merged into boost.


.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 10/3/17 8:18 AM, Louis Dionne via Boost wrote:

> Boost - Dev mailing list wrote
>> On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
>> &lt;
>
>> boost@.boost
>
>> &gt; wrote:
>>> Have you discussed the possibility for the two (Boost.Build and CMake)
>>> to coexist...
>>
>> David Sankel made it pretty clear that in the "final solution", CMake
>> will be mandatory and Boost.Build will be optional. Unless I
>> misunderstood (David, feel free to correct me).
>
> I don't remember anyone making that statement.

Hmmm - I do remember getting that impression though it may not have been
explicitly stated.  My reaction was to point out that we didn't have to
address this issue until we actually had a real CMake alternative for
Boost.   I think this got us over the hump to where could find some
common ground on something that would move us forward.  Of course I
don't remember every word and detail now.  But I believe that my
original summary captures the essential sense of the mercifully short
and in my view productive meeting.

Robert Ramey.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On Tue, Oct 3, 2017 at 11:27 AM, Robert Ramey via Boost
<[hidden email]> wrote:

> On 10/3/17 8:18 AM, Louis Dionne via Boost wrote:
>>
>> Boost - Dev mailing list wrote
>>>
>>> On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
>>> &lt;
>>
>>
>>> boost@.boost
>>
>>
>>> &gt; wrote:
>>>>
>>>> Have you discussed the possibility for the two (Boost.Build and CMake)
>>>> to coexist...
>>>
>>>
>>> David Sankel made it pretty clear that in the "final solution", CMake
>>> will be mandatory and Boost.Build will be optional. Unless I
>>> misunderstood (David, feel free to correct me).
>>
>>
>> I don't remember anyone making that statement.
>
>
> Hmmm - I do remember getting that impression though it may not have been
> explicitly stated.  My reaction was to point out that we didn't have to
> address this issue until we actually had a real CMake alternative for Boost.
> I think this got us over the hump to where could find some common ground on
> something that would move us forward.  Of course I don't remember every word
> and detail now.  But I believe that my original summary captures the
> essential sense of the mercifully short and in my view productive meeting.

I want to revive this old thread, because I think it's extremely
important. I've been using CMake since around 2007 and I'm extremely
familiar with it. If the Boost developers plan to support CMake or
have an ongoing repository with CMake scripts they're working on,
please share it with me as I'd love to pitch in.

Having said that, I want to be frank. I apologize in advance if this
offends anyone. My goal is to not offend anyone's efforts, I just want
to be brutally honest for a moment.

Boost Build is an abomination of a build system. It's a complex and
niche system designed (from my perspective; not sure what the real
intent was) just to build boost. It has an extremely steep learning
curve and even the most basic build instructions are incredibly
complex. Forget cross compiling. Why should I have to define a
user-config.jam that specifies over 20 compiler arguments? If you've
never tried to build boost for Android, then forget doing it with
bjam. First, try doing a google search to see how others have solved
the problem. You will literally never see the same solution twice.
Furthermore, instructions you find are very dependent on the specific
version of NDK and Boost combination used for those instructions. You
could spend days going through dozens of solutions but never find one
that works.

The point of all my venting is that bjam is not sustainable as a
public facing build system for Boost. I get that the boost devs are
probably already very familiar with it and that makes them comfortable
with it. But the users and builders of the Boost library struggle with
it constantly. It's not something I have used in my 15+ year career as
a software engineer outside of building boost, which I do not do very
often. So there's no incentive for me to learn it and become familiar
with it beyond the "means to an end" task of getting the libraries I
have dependencies on.

I've been using a set of comprehensive CMake scripts to build boost
here: https://github.com/Orphis/boost-cmake

It makes it very easy to build boost consistently across multiple
platforms, including cross compiling to Android NDK. Furthermore, the
NDK already provides a CMake toolchain file to make the task of
building libraries for Android a trivial matter. This project is far
from perfect, as it's difficult to add support for building new
versions of boost. But I think it's a good start if the boost
developers do not have something they're working on already. I've been
working with the author to add proper install target support. I've
used it and it works great. So it's come a long way and I recommend
everyone take a look at it.

Lastly I want to just say that supporting multiple build systems
simply because a portion of the community is adverse to using CMake is
going to be extremely counterproductive. What you'll end up with is
the bjam developers not updating CMake, and the CMake developers not
updating the bjam build scripts. Happens every where I have worked
that has more than one build system in place. I really do not
recommend this approach. While more controversial, I recommend that
those that currently prefer bjam just make the switch to CMake as long
as it fulfills all the requirements. Having people's personal
preferences get in the way will just create unnecessary complexity.
Just thinking of this objectively.

Again I apologize for the frustration that's obviously leaking through
my email here. I love boost but for years I've dealt with the
frustration of having to build it. It should be a simple matter, but
like a some things in boost, the current build system is too
overengineered.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
On 1/12/18 7:38 AM, Robert Dailey via Boost wrote:

> I want to revive this old thread, because I think it's extremely
> important. I've been using CMake since around 2007 and I'm extremely
> familiar with it. If the Boost developers plan to support CMake or
> have an ongoing repository with CMake scripts they're working on,
> please share it with me as I'd love to pitch in.

<snip>

This should probably be on a different thread.

My intention of this meeting was to promote the idea that proposals for
boost tools - specifically Boost support for CMake - be subjected to the
Boost Review process.  It is my view that the review system has been the
the fundamental reason that Boost has been more successful than others
in producing and distributing C++ libraries.  I believe that this idea
was accepted by consensus of those present. It's my hope that extending
this system to cover Boost tools will.

a) promote the creation/maintenance of tools which are easier to use,
better documented and regularly tested before being applied to boost
infrastructure.
b) diminish contentiousness among boost members by getting agreement on
issues before tools are implemented.
c) make it easier for interested parties to contribute fixes, enhancements.

So far, one proposal for incorporation of CMake into boost infrasture
has been submitted and endorsed for review.  The author is Paul Fultz.
You can find it in git hub.  It hasn't been up for formal review yet,
but there is no reason why anyone can't review/comment on it now.  There
is also no reason why someone cannot submit an alternate proposal - in
fact that might be interesting.  Not that any such submissions should
include what we require for all boost submissions: Documentation, Tests,
Boost License and of course code.

Robert Ramey

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [SPAM] Re: Informal CMake meeting at CPPCon

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list


> -----Original Message-----
> From: Boost [mailto:[hidden email]] On Behalf Of Robert Dailey via Boost
> Sent: 12 January 2018 15:39
> To: Boost Developers
> Cc: Robert Dailey; Robert Ramey
> Subject: Re: [boost] [SPAM] Re: Informal CMake meeting at CPPCon
>
> On Tue, Oct 3, 2017 at 11:27 AM, Robert Ramey via Boost
> <[hidden email]> wrote:
> > On 10/3/17 8:18 AM, Louis Dionne via Boost wrote:
> >>
> >> Boost - Dev mailing list wrote
> >>>
> >>> On Mon, Oct 2, 2017 at 9:16 AM, Stefan Seefeld via Boost
> >>> &lt;
> >>
> >>
> >>> boost@.boost
> >>
> >>
> >>> &gt; wrote:
> >>>>
> >>>> Have you discussed the possibility for the two (Boost.Build and CMake)
> >>>> to coexist...
> >>>
> >>>
> >>> David Sankel made it pretty clear that in the "final solution", CMake
> >>> will be mandatory and Boost.Build will be optional. Unless I
> >>> misunderstood (David, feel free to correct me).
> >>
> >>
> >> I don't remember anyone making that statement.
> >
> >
> > Hmmm - I do remember getting that impression though it may not have been
> > explicitly stated.  My reaction was to point out that we didn't have to
> > address this issue until we actually had a real CMake alternative for Boost.
> > I think this got us over the hump to where could find some common ground on
> > something that would move us forward.  Of course I don't remember every word
> > and detail now.  But I believe that my original summary captures the
> > essential sense of the mercifully short and in my view productive meeting.
>
> I want to revive this old thread, because I think it's extremely
> important. I've been using CMake since around 2007 and I'm extremely
> familiar with it. If the Boost developers plan to support CMake or
> have an ongoing repository with CMake scripts they're working on,
> please share it with me as I'd love to pitch in.
>
> Having said that, I want to be frank. I apologize in advance if this
> offends anyone. My goal is to not offend anyone's efforts, I just want
> to be brutally honest for a moment.
>
> Boost Build is an abomination of a build system. It's a complex and
> niche system designed (from my perspective; not sure what the real
> intent was) just to build boost. It has an extremely steep learning
> curve and even the most basic build instructions are incredibly
> complex. Forget cross compiling. Why should I have to define a
> user-config.jam that specifies over 20 compiler arguments? If you've
> never tried to build boost for Android, then forget doing it with
> bjam. First, try doing a google search to see how others have solved
> the problem. You will literally never see the same solution twice.
> Furthermore, instructions you find are very dependent on the specific
> version of NDK and Boost combination used for those instructions. You
> could spend days going through dozens of solutions but never find one
> that works.
>
> The point of all my venting is that bjam is not sustainable as a
> public facing build system for Boost. I get that the boost devs are
> probably already very familiar with it and that makes them comfortable
> with it. But the users and builders of the Boost library struggle with
> it constantly. It's not something I have used in my 15+ year career as
> a software engineer outside of building boost, which I do not do very
> often. So there's no incentive for me to learn it and become familiar
> with it beyond the "means to an end" task of getting the libraries I
> have dependencies on.
>
> I've been using a set of comprehensive CMake scripts to build boost
> here: https://github.com/Orphis/boost-cmake
>
> It makes it very easy to build boost consistently across multiple
> platforms, including cross compiling to Android NDK. Furthermore, the
> NDK already provides a CMake toolchain file to make the task of
> building libraries for Android a trivial matter. This project is far
> from perfect, as it's difficult to add support for building new
> versions of boost. But I think it's a good start if the boost
> developers do not have something they're working on already. I've been
> working with the author to add proper install target support. I've
> used it and it works great. So it's come a long way and I recommend
> everyone take a look at it.
>
> Lastly I want to just say that supporting multiple build systems
> simply because a portion of the community is adverse to using CMake is
> going to be extremely counterproductive. What you'll end up with is
> the bjam developers not updating CMake, and the CMake developers not
> updating the bjam build scripts. Happens every where I have worked
> that has more than one build system in place. I really do not
> recommend this approach. While more controversial, I recommend that
> those that currently prefer bjam just make the switch to CMake as long
> as it fulfills all the requirements. Having people's personal
> preferences get in the way will just create unnecessary complexity.
> Just thinking of this objectively.
>
> Again I apologize for the frustration that's obviously leaking through
> my email here. I love boost but for years I've dealt with the
> frustration of having to build it. It should be a simple matter, but
> like a some things in boost, the current build system is too
> overengineered.

I hear your frustration (though I find that bjam works fine for me, and does some things that CMake can't).  But, by itself,
knocking bjam won't help).

There is a clear declared wish and willingness to make CMake work for building Boost.

Someone needs to make CMake 'just work' for people (including explaining how - it's all greek to me ;-) ).

(And it isn't going to be the people who have worked over many years supporting bjam - it is all they can do to keep bjam running).

It's no good trying to stop support for bjam unless CMake is really working well; I don't get the impression that it really is
working yet :-(

It is lack of CMake enthusiasts input is the missing thing here.

So yes, please, help make it happen.

HTH

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830














_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost