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.