This project provides a CMake-based build system for the RYUON libraries. The original build system is based on GNU autotools which I don't like. Furthermore cross-dependencies are not automatically detected which makes the build process unnecessarily hard.
All build dependencies which are not available through the package repositories of big Linux distributions are included as submodules. These are
- NITSOL: newton iterative solver for nonlinear systems (written in FORTRAN)
- libiter: library containing iterative solvers for linear set of equations
- libstokes: solve resistance and mobility problems
- stokes: the Stokesian dynamics simulator
Currently only the stokes3
executable and the Python interface are
generated. Let me know in the
issues if you need
more.
The usage is simple. Just follow your regular CMake workflow. The repository has to be cloned recursively because RYUON itself is incorporated as submodules.
git clone --recursive https://github.com/hmenke/ryuon-cmake.git
cd ryuon-cmake
mkdir build
cd build
cmake ..
make -j 16
- C compiler
- FORTRAN compiler
- CMake (>=3.9)
- ARPACK
- BLAS
- GSL
- Guile (<=1.8) yes, this is indeed less or equal
- LAPACK
- NetCDF
- Python 2
- SWIG
On a naked Ubuntu 18.04 LTS you can easily install all the required dependencies using
echo "deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe" | sudo tee /etc/apt/sources.list.d/xenial.list
sudo apt-get update
sudo apt-get install build-essential cmake git libarpack2-dev libblas-dev libgsl-dev gfortran guile-1.8-dev liblapack-dev libnetcdf-dev libpython2.7-dev python2.7 swig