On 02/06/2021 19:07, Peter Dimov via Boost wrote:
Niall Douglas wrote:
- RHEL7 ships with cmake 3.9
CentOS 7 ships with 2.8. But fortunately, you can install `cmake3` from EPEL, which is 3.17.
Ah yes. My workplace is on an older CentOS 7. Sigh.
I haven't investigated how well `pip install --user cmake` works on those distros; it works on Travis, at least, and typically gives me the latest version. Of course non-x86 platforms might have a different experience.
CentOS 7 is still python 2 based? I ask because I can see pip install cmake stopping working at some point when they kill pip working with python 2. I'm seeing lots of votes for really recent cmakes, which I don't understand the reasoning for other than "let's use the newest cmake just cos". I also think there is an undervaluing here of forcing end users to go off an install a newer cmake. For a whole bunch of corporate devs, they're not allowed root access, to get newer tooling installed over platform default is sufficient admin hassle that they'd rather forgo upgrading the software they are using. It is for this exact same reason they don't use any Boost library which isn't header only, and I wouldn't want to add to that. Also, on some CentOS/RHEL/Docker systems, the local cmake is specially configured for that system, and compiling your own or using the prebuilt cmake binaries they won't work without non-obvious customised build options. I say this from painful experience: making people use a non-default cmake is a real turn off. For me, if there is a *compelling* reason to use a newer cmake, then I'm all for it. I'm not aware of any *compelling* feature adds after cmake 3.8, they're all nice to haves, not must haves. Even find_dependency() is hardly a showstopper, you can hand craft an emulation wrapping find_package() without much effort. Meanwhile, Ubuntu 18.04 LTS which is cmake 3.9 will be very popular until 2023, and not fall out of usage until 2028. All the Ubuntu servers I'm running, and all those at work, they're ALL 18.04 and I don't expect that to change until 2023 or so when we'll jump to 22.04 LTS because we tend to track every second Ubuntu LTS release. We are hardly unusual in this, if anything, we are much less conservative than most of our big corporate work clients who are only *just now* upgrading from RHEL6 to RHEL7. So I'd like to reiterate my recommendation that we choose cmake 3.8 or 3.9, then Boost cmake is widely usable straight out of the box for big corporate users. What do we lose by standardising on an older cmake version? Niall