Using SCons to detect Boost, MPI, TBB, Bsponmpi, and more.
I recently thought about abandoning my current way of platform-independent building and switching to CMake. However, after looking into it, I decided that it is actually easier to adapt my SCons scripts for my purposes because it's essentially Python (which is prettier and more versatile than CMake's own language).
Also, I needed a build system which works around a few issues I had making something that is actually portable between Windows, Linux and MacOS, detects some C++ libraries I use, and runs unit tests automatically.
I uploaded the project bsponmpi_template to Github. It contains a small set of scripts to use SCons for detecting a few libraries for C++ programming, and to run unit tests automatically.
You will need:
- SCons for making/compiling the project
For writing parallel code, you need:
- The Boost libraries.
- Threading Building Blocks
- Bsponmpi
- Optionally: a version of MPI (e.g. OpenMPI or Microsoft HPC Pack) on Windows)
Additionally, you can have Scons check for any of these:
- A version of BLAS e.g. OpenBLAS
- Agner Fog's Vectorclass library
Perhaps this is useful as a starting point for anyone else wanting to use Bsponmpi or just needs a Scons way to detect Boost/TBB/MPI.