Boost logo

Boost :

Subject: Re: [boost] Request for a "Policy Review" regarding 'CMakeLists.txt'
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2016-05-17 11:05:27

On Tuesday, 17 May 2016 17:56:04 MSK Thijs van den Berg wrote:
> On 17 May 2016 at 16:37, Vladimir Prus <vladimir.prus_at_[hidden]> wrote:
> > On 17/05/2016 17:11, Thijs van den Berg wrote:
> >
> > May I ask how often do you edit Jamfiles? It do it somewhat often, and I
> >
> >>> do find having them in subdirectory to be a burden.
> >>>
> >>> My point is that you can keep doing so.. your Jamefiles editing will not
> >>
> >> be affected if a CMakeLists.txt get's added to the root.
> >
> > Looks like you did not answer this question directly, and accepted my
> > statement
> > that having build files under 'build' is a burden. Therefore, I assume
> > you'll
> > have no objections to moving all Jamfiles to root level of their
> > corresponding
> > components, should guidelines be modified to allow that?
> >
> >
> > That would cause confusion with developers who are accustomed to the
> current setup, I don't know of any gain people get from that would
> outweights the inflicted confusion by such a change. Having the
> CMakeLists.txt at the root instead of somewhere else *does* have a gain:
> it's sticking to conventions that CMake users are accustomed to.
> Any bjam conventions discussion, validation historical choices etc is a
> separate discussion. This discussion here is if we should pave the way to
> facilitate CMake users and do so correctly by sticking to accepted
> conventions, and add the CMakeLists.txt to the root or not.

I think whatever outcome of this discussion is, it should put all build systems in the same
conditions. If the guideline is to put everything build-related into the build subdirectory
then this should concern every build system a library happens to use, including
Boost.Build, CMake, Makefiles, IDE projects and whatnot. If it's the library root then,
again, all build system files should be there.

Personally, I don't like having lots of files in the root directory, so I slightly favor the
current convention. I understand that it is not the typical setup for CMake, but it really
isn't such a big deal as some in this discussion are trying to put it. 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).

Boost list run by bdawes at, gregod at, cpdaniel at, john at