From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2021-06-02 19:23:57


On 6/2/21 7:32 PM, Peter Dimov via Boost wrote:
> I suppose the time has come to have the discussion on
> the minimum CMake version we will support for building
> Boost. Currently that's set to 3.5, which kind of works, but
> is fairly inconvenient.
>
> The interesting options are
>
> - CMake 3.8: required for use of the compile features
> cxx_std_11, cxx_std_14, cxx_std_17, etc. Also allows
> source_group(TREE, which is used by Json and
> PropertyTree.
>
> - CMake 3.9: required by Nowide, I'm not sure why.
> Also, required for FindMPI to define an imported
> target. Building Boost.MPI is optional though.
>
> - CMake 3.13: required for Boost installation support.
>
> - CMake 3.14: required for FindPython to be modern
> enough to make building Boost.Python reasonably
> easy. (Building Boost.Python is optional, though.)
>
> There are also less important nice-to-have things such as
>
> - CMake 3.10: adds include_guard()
> - CMake 3.12: adds CONFIGURE_DEPENDS to file(GLOB
> - CMake 3.15: adds VERBOSE/DEBUG to message(
>
> Opinions?

For reference, CMake versions available in some common Linux/BSD distros
(stock versions):

Debian Stretch: 3.7.2
Debian Buster: 3.13.4
Ubuntu Bionic: 3.10.2
Ubuntu Focal: 3.16.3
RHEL 7.9: 2.8.12.2
RHEL 8.4: 3.18.2
CentOS 7.8: 2.8.12.2
CentOS 8.2: 3.11.4
Gentoo Stable: 3.18.5
ALT Linux 9.0: 3.13.4
ALT Linux 9.1: 3.16.3

FreeBSD 13.0: 3.19.2
OpenBSD 6.8: 3.17.2
OpenBSD 6.9: 3.19.24

Package versions for Debian and Ubuntu taken from their respective web
sites, the other - from distrowatch:

https://distrowatch.com/dwres.php?resource=package-in-distro&pkg=cmake

I think, it would be preferable if Boost could be built on most
currently maintained distros with stock CMake.