1Installation Instructions
2=========================
3
4For a full explanation of the DUNE installation process please read
5the installation notes [0]. The following introduction is meant for
6the impatient.
7
8Getting started
9---------------
10
11Suppose you have downloaded all DUNE modules of interest to your
12computer and extracted then in one common directory. See [1] for a
13list of available modules.
14
15To compile the modules Dune has to check several components of
16your system and whether prerequisites within the modules are met. For
17the ease of users we have designed a custom build system on top of CMake.
18Run
19
20  ./dune-common/bin/dunecontrol all
21
22to commence those tests and build all modules you have
23downloaded. Don't worry about messages telling you that libraries are
24missing: they are only needed for grid-self-checks we need for
25developing.
26
27You can customize the build to your specific needs by using an options file
28(see below)
29
30  ./dune-common/bin/dunecontrol --opts=/path_to/file.opts
31
32If you did not tell dunecontrol to install with an options file you
33need to run
34
35  ./dune-common/bin/dunecontrol make install
36
37to install Dune (you may need root-permissions for the install
38part depending on the prefix set)
39
40A more comprehensive introduction to the build system can be found in [0].
41
42Passing options to the build process
43------------------------------------
44
45Using the dunecontrol script the following atomic commands can be
46executed:
47
48- configure (runs the CMake configuration tests for each module)
49- exec (executes a command in each module source directory)
50- bexec (executes a command in each module build directory)
51- make (builds each module)
52- update (updates the Git or Subversion version)
53
54The composite command all simply runs configure and make for
55each module.
56
57As it is often not convenient to specify the desired options after
58the duncontroll call, one can pass the options via a file specified
59by the --opts=<file> option. Specify the options via the variable
60
61  CMAKE_FLAGS=<flags>
62
63An example of an options file is
64
65  # use a special compiler (g++ version 5.0),
66  # install to a custom directory, default is /usr/local/bin,
67  # disable the external library SuperLU,
68  # and use Ninja-build instead of make as the build-tool
69  CMAKE_FLAGS="-DCMAKE_CXX_COMPILER=g++-5 -DCMAKE_INSTALL_PREFIX='/tmp/HuHu' -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=true -GNinja"
70
71Links
72-----
73
740. https://www.dune-project.org/doc/installation
751. https://dune-project.org/releases
76