Boost logo

Boost :

Subject: Re: [boost] Request for a "Policy Review" regarding 'CMakeLists.txt'
From: Paul Fultz II (pfultz2_at_[hidden])
Date: 2016-05-17 12:29:52


On Tuesday, May 17, 2016 at 11:04:34 AM UTC-5, Klaim - Joël Lamotte wrote:
>
> On 17 May 2016 at 17:57, Thijs (M.A.) van den Berg <th..._at_[hidden]
> <javascript:>> wrote:
>
> >
> > > On 17 May 2016, at 17:35, Andrey Semashev <andrey...._at_[hidden]
> <javascript:>>
> > wrote:
> > >
> > >> On Tuesday, 17 May 2016 18:24:36 MSK Sam Kellett wrote:
> > >>> On 17 May 2016 at 16:05, Andrey Semashev
> > >> <andrey...._at_[hidden] <javascript:>> wrote:
> > >>
> > >>> I should say that many
> > >>> opensource projects practice a separate directory for build-related
> > > stuff
> > >>> and it doesn't
> > >>> hurt anyone (quite the contrary, I'd say).
> > >>
> > >> which ones?
> > >
> > > From the ones I have locally: TBB, openh264, webrtc, libvpx,
> > > libresiprocate. Well, ok, some of them have a configure script or a
> > > single Makefile at the root directory, but most of the build stuff is
> > put in
> > > a subdirectory.
> > >
> >
> > The way I use CMake and see other use it is indeed to have a single
> > CMakeFiles.txt config file in the root, and then do "out of source"
> > building.
> >
> >
> One example of project that provide CMake support among other things
> without having CMake scripts in it's root directory is the recent versions
> of protobuf: https://github.com/google/protobuf
>

And this is a perfect example of why we want to put the cmake in the top-
level, as it is entirely confusing to know how to build protobuf using
cmake.

 

>
> I didn't see any problem so far with this setup.
> I don't understand why it's problematic to have cmake scripts outside the
> root dir.
> I think any build system that impose a particular layout
> is a problem.
>

Cmake doesn't impose a layout, and that's the whole point. I clone hana and
then call `cmake hana` to build it using cmake. Imposing a layout such as
hiding it in some unknown directory just causes confusion.


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