← Back to team overview

kicad-developers team mailing list archive

boost headers have been removed


In revision 4183 the boost headers have been removed from the repo.

The CMakeLists.txt build environment now downloads those one time and installs them in the
source tree upon first build.  Subsequent builds will work as before, that is after boost
is downloaded, un-tarred, patched, and copied to include/boost/*.

(The PPA engine will however have to download them each time I suppose since it starts
with a pristine bzr checkout each time.)

----< Revision Summary >--------------------------------------------

This revision makes include/boost/* files into an "external project" according to CMake's
ExternalProject_Add() function. The main advantages to this strategy are:

1) it is easier to track the totality of all patches made to the particular version of
boost in use.

2) The procedure for the download and patching is extremely well documented and
reproducable, unlike now, so therefore *easier to upgrade to new boost*.

3) You get the full set of boost headers.

4) The KiCad repo is smaller.

The mechanism uses a new directory in the source tree called downloads-by-cmake to hold
the boost*.tar.bz2 file. This download happens only one time, ever. Then the tar file is
expanded, and it is put into a scratch bazaar repo so that changes can be tracked. Then it
is patched. Then a portion of the patched boost, namely the header portion, is copied into
the KiCad source tree at include/boost just as now. So the end result is the same by the
time a build is undertaken.

The scratch repo remains in downloads-by-cmake, so that patches can be re-generated from
there at any time in the future for the ExternalProject_Add() mechanism. You can delete
the directory downloads-by-cmake to get a fresh start at any time.

Follow ups