This directory contains CMake configuration of the dependencies of the MEmilio C++ library. See the MEmilio C++ README for the full list of dependencies.
Most dependencies of this project don't need to be installed manually. Dependencies are bundled in two different ways: cloning an external repository or as an archive included in the MEmilio project. Using the MEMILIO_USE_BUNDLED_<XYZ>
CMake options (where <XYZ>
is the name of the dependency), installed packages can be used instead of the bundled packages, using the usual find_package
mechanism.
The repository of the dependency is cloned during CMake configuration into the <build>/_deps/<xyz>-src
directory. The dependency is then built together with the MEmilio project. The version of the package is set in the thirdparty CMakeLists.txt. To upgrade the version, simply increase the version number there.
We currently bundle only a minimal extract of boost library as an archive that contains only the libraries of boost that we use. Currently, these libraries are filesystem, outcome, and optional, including transitive dependencies. The archive has been created using the boost tool bcp
, see https://www.boost.org/doc/libs/1_72_0/tools/bcp/doc/html/index.html.
To upgrade boost, follow these steps:
- call
bcp
to copy the required files (see thebcp
documentation for details)
./bcp optional outcome filesystem path_to_epi_source/cpp/thirdparty/boost_<version>
- compress the folder into a
.tar.gz
archive and replace the existing archive in the repository. - adapt the file
cpp/cmake/BuildBoost.cmake
. At least update the version number and archive name.