Commit 05a7156b authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Merge branch 'develop' of gitlab.math.tu-dresden.de:spraetor/dune-amdis into develop

parents f6131d6c b6e6cf44
...@@ -3,7 +3,7 @@ Installation instructions ...@@ -3,7 +3,7 @@ Installation instructions
We provide a *cmake*-based configuration and use the `dunecontrol` build system. We provide a *cmake*-based configuration and use the `dunecontrol` build system.
Simply run Simply run
``` ```bash
dunecontrol --current all dunecontrol --current all
``` ```
...@@ -27,16 +27,50 @@ Additionally, we require/suggest the following libraries to be found: ...@@ -27,16 +27,50 @@ Additionally, we require/suggest the following libraries to be found:
- [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) (optional) - [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) (optional)
- libalberta >= 3.0 (For Alberta-Grids) - libalberta >= 3.0 (For Alberta-Grids)
And a compiler that supports the C++14 standard, e.g. `g++` >= 4.9 and `clang` >= 3.6, And a compiler that supports the C++14 standard, e.g. `g++` >= 5.0 and `clang` >= 3.6,
and `cmake` >= 3.1. and `cmake` >= 3.1.
If your MTL4 installation is not found by default, you have to specify the path, If your MTL4 installation is not found by default, you have to specify the path,
where the file `MTLConfig.cmake` is found, here called `MTL_ROOT`. Then simply use where the file `MTLConfig.cmake` is found, here called `MTL_ROOT`. Then simply use
`dunecontrol` to configure and `cmake` to build: `dunecontrol` to configure and `cmake` to build:
``` ```bash
CMAKE_FLAGS="-DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current configure CMAKE_FLAGS="-DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current all
cmake --build build-cmake
``` ```
This compiles the library and all examples in the `src/` directory. This compiles the library and all examples in the `src/` directory.
Install Dune modules
--------------------
To install all required Dune modules you can either install a debian package (Version 2.6 required), using source packages (e.g. [Version 2.6](https://dune-project.org/releases/2.6.0rc1/)), or install everything from the repository:
```bash
cd ${SOURCE_DIR}
git clone https://gitlab.dune-project.org/core/dune-common.git
git clone https://gitlab.dune-project.org/core/dune-geometry.git
git clone https://gitlab.dune-project.org/core/dune-grid.git
git clone https://gitlab.dune-project.org/core/dune-localfunctions.git
git clone https://gitlab.dune-project.org/staging/dune-typetree.git
git clone https://gitlab.dune-project.org/staging/dune-functions.git
```
If additional grid types are required in the application (e.g. [AlbertaGrid](http://www.mathematik.uni-stuttgart.de/fak8/ians/lehrstuhl/nmh/downloads/alberta/), [dune-alugrid](https://gitlab.dune-project.org/extensions/dune-alugrid), or [dune-uggrid](https://gitlab.dune-project.org/staging/dune-uggrid). See also the list of dune modules on [dune-project.org](https://dune-project.org/groups/grid/)), these must be installed separately. Thereby, all Dune modules can be downloaded into the `${SOURCE_DIR}` folder. AlbertaGrid requires to set the cmake flag `-DALBERTA_ROOT` when configuring the dune-grid module.
To compile all Dune modules maybe some flags need to be given to cmake. When using the `dunecontrol` script this can be accomplished by providing an options file `dune.opts`
```bash
CMAKE_FLAGS="-DALBERTA_ROOT:PATH=${ALBERTA_ROOT} \
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR}"
MAKE_FLAGS="-j4 install"
```
This specifies the location of the AlbertaGrid installation and an installation dir `${INSTALL_DIR}` for the Dune modules.
I prefer an out-of-source build and thus specify a common build directory for all Dune modules:
```bash
mkdir -p /tmp/dune/build
DUNE_CONTROL_PATH=${SOURCE_DIR} ${SOURCE_DIR}/dune-common/bin/dunecontrol --opts=dune.opts --builddir=/tmp/dune/build all
```
When the Dune modules are installed, the `bin/` directory in `${INSTALL_DIR}` can be added to the PATH variable to make `dunecontrol` and other scripts available directly.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment