← Back to team overview

kicad-developers team mailing list archive

Minimum Boost version


Hi all,

I've recently been playing with some features I'd like to add to KiCad
(will be able to submit a patch soon I hope). As part of this, I'm adding
some unit tests. I see that unit_test_utils.h within the qa has a number of
macros working around Boost pre-1.59, and there's some features introduced
in Boost 1.59 which would make my testing a lot cleaner.

Currently, the main CMakeLists.txt specifies a minimum version of 1.54 for
Boost. This was released on 1 July 2013 [1]; incidentally, this was 18
months before the formal release of C++14 (approved August 2014, released
December 2014) which is mandated in CMakeLists.

I've done a quick survey of the versions of Boost in some of the larger
Linux distributions, with the results as follows:

Arch: 1.69 [2]
Debian stable: 1.67 [3]
Debian oldstable: 1.62 [4]
Fedora 30 and 31: 1.69 [5]
openSUSE: 1.69 [6]
Ubuntu 19.04: 1.67 [7]
Ubuntu 18.04 LTS: 1.65 [8]
Linux Mint 19.2: based on Ubuntu 18.04, so 1.65

It's worth noting that Debian oldstable has KiCad 4.0.5 and Ubuntu 18.04
LTS has KiCad 4.0.7, so I'd say there is no need to worry about targeting
them for KiCad 6. This presumably also means Linux Mint is using 4.0.7 and
is also not of concern.

Based on this, from a Linux point-of-view I'd say its fairly safe to bring
the minimum Boost requirement up to 1.67 for KiCad 6. However, I'm not sure
what the Mac and Windows builders use -- they may require a lower version.
There may also be other reasons I've missed to keep an older version as the
minimum requirement.



[1] https://www.boost.org/users/history/version_1_54_0.html
[2]: https://www.archlinux.org/packages/extra/x86_64/boost/
[3] https://packages.debian.org/buster/libboost-all-dev
[4] https://packages.debian.org/stretch/libboost-all-dev
[5] https://apps.fedoraproject.org/packages/boost
[6]: https://software.opensuse.org/package/boost-base
[7] https://packages.ubuntu.com/disco/libboost-all-dev
[8] https://packages.ubuntu.com/bionic/libboost-all-dev

Follow ups