Skip to content
Snippets Groups Projects
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
Branches
Tags
No related merge requests found
......@@ -3,7 +3,7 @@ Installation instructions
We provide a *cmake*-based configuration and use the `dunecontrol` build system.
Simply run
```
```bash
dunecontrol --current all
```
......@@ -27,16 +27,50 @@ Additionally, we require/suggest the following libraries to be found:
- [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) (optional)
- 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.
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
`dunecontrol` to configure and `cmake` to build:
```
CMAKE_FLAGS="-DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current configure
cmake --build build-cmake
```bash
CMAKE_FLAGS="-DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current all
```
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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment