# This file is part of the dune-gdt-super project:
# https://github.com/dune-community/dune-gdt-super
# The copyright lies with the authors of this file (see below).
# License: BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause)
dune-gdt-super is a git supermodule which serves as a demonstration and testing module for dune-gdt. This module provides the correct versions of all relevant DUNE modules and external libraries as git submodules.
In order to build everything, do the following:
-
Initialize all submodules:
git submodule update --init --recursive -
Take a look at
config.opts/and find settings and a compiler which suits your system, e.g.config.opts/gcc-debug. Select one of those options by definingexport OPTS=gcc-debugIf you have the
ninjagenerator installed we recommend to make use of it by selectingOPTS=gcc-debug.ninja, which usually speeds up builds significantly. -
Call
./local/bin/gen_path.pyto generate a file
PATH.shwhich defines a local build environment. From now on you should source this file whenever you plan to work on this project, e.g.:source PATH.sh -
Download and build all external libraries by calling (this might take some time):
./local/bin/download_external_libraries.py ./local/bin/build_external_libraries.py -
Build all DUNE modules using
cmakeand the selected options (this will take some time):./dune-common/bin/dunecontrol --opts=config.opts/$OPTS --builddir=$PWD/build-$OPTS allThis creates a directory corresponding to the selected options (e.g.
build-gcc-debug) which contains a subfolder for each DUNE module. See thedune/gdt/testsubfolder for tests, e.g.,build-gcc-debug/dune-gdt/dune/gdt/test/