Skip to content

Commit fe77658

Browse files
committed
docu: adjusting installation instructions
We've done a few tweaks to the CMake interface and haven't updated the docu for that yet.
1 parent 0329227 commit fe77658

File tree

1 file changed

+44
-20
lines changed

1 file changed

+44
-20
lines changed

doc/source/installing.md

Lines changed: 44 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ latest release from [GitHub][github_releases].
6464

6565
* __General__
6666

67-
* By default everything gets built, i.e. tests and examples.
67+
* By default everything gets built, i.e. tests, examples and all dependencies which are not
68+
found on the system.
6869

6970
* Use `-DCMAKE_BUILD_TYPE=<VALUE>` to specify general compiler flags.
7071

@@ -75,33 +76,54 @@ latest release from [GitHub][github_releases].
7576
| `RelWithDebInfo` | `-O2 -g -DNDEBUG` |
7677
| `MinSizeRel` | `-Os -DNDEBUG` |
7778

78-
* To enable profiling support, you need to specify `-Dpfasst_WITH_GCC_PROF=ON` and have the GNU compiler selected.
79+
* To enable profiling support, you need to specify `-Dpfasst_WITH_GCC_PROF=ON` and have the GNU
80+
compiler selected.
7981
When compiling with _Clang_ this option is obsolete as profiling with _Clang_ is not supported.
8082

81-
* Users on Linux systems with the _Clang_ compiler and a working installation of LLVM's \em libc++ library may
82-
want to activate the usage of that by specifying `-Dpfasst_DISABLE_LIBCXX=OFF`.
83+
* Users on Linux systems with the _Clang_ compiler and a working installation of LLVM's
84+
\em libc++ library may want to activate the usage of that by specifying
85+
`-Dpfasst_DISABLE_LIBCXX=OFF`.
86+
As libc++ is highly experimental on non-Darwin systems, this is a very exotic option.
87+
88+
* There are places in the code (mainly examples) that need a random number generator (RNG).
89+
By default, `-Dpfasst_DEFAULT_RAND_SEED=ON` is set and the seed for the RNGs is set to `42`.
90+
To overwrite this behaviour, set `-Dpfasst_DEFAULT_RAND_SEED=OFF` and
91+
`-Dpfasst_RANDOM_SEED=<YOUR_VALUE>`.
92+
93+
* __Dependencies__
94+
95+
* __Boost__
96+
To specify the root path to the Boost installation to be used, add `-DBOOST_ROOT=<PATH>`.
97+
The root path should contain the directory `lib` or `lib64` with the compiled Boost libraries
98+
as well as `include/boost` with the Boost header files.
99+
100+
* __GMock__
101+
In case there is the Google Testing and Mocking framework installed on the system in a
102+
non-standard path, add `-DGMOCK_ROOT=<PATH>` to specify the root path to the framework.
83103

84104
* __MPI__
85105

86106
* To enable MPI, please specify `-Dpfasst_WITH_MPI=ON`.
107+
To avoid a warning and potential undefined behaviour, also set `-DCMAKE_C_COMPILER` and
108+
`-DCMAKE_CXX_COMPILER` to the MPI compiler wrappers.
87109

88110
* __Test Suite__
89111

90-
* Deactivate building of the test suite by passing `-Dpfasst_BUILD_TESTS=OFF` to the _CMake_ command line (not
91-
recommended).
112+
* Deactivate building of the test suite by passing `-Dpfasst_BUILD_TESTS=OFF` to the _CMake_
113+
command line (not recommended).
92114

93115
* __Examples__
94116

95-
* Deactivate building of the example programms by passing `-Dpfasst_BUILD_EXAMPLES=OFF` to the _CMake_ command
96-
line.
117+
* Deactivate building of the example programms by passing `-Dpfasst_BUILD_EXAMPLES=OFF` to the
118+
_CMake_ command line.
97119

98-
* Add compiled example programs to the `install` target by passing `-Dpfasst_INSTALL_EXAMPLES=ON` to the _CMake_
99-
command line (by default, they will not get installed).
120+
* Add compiled example programs to the `install` target by passing `-Dpfasst_INSTALL_EXAMPLES=ON`
121+
to the _CMake_ command line (by default, they will not get installed).
100122

101123
* __Installing (optional)__
102124

103-
* Use `-DCMAKE_INSTALL_PREFIX=<PREFIX>` to specify the prefix for installing the headers and optional compiled
104-
examples.
125+
* Use `-DCMAKE_INSTALL_PREFIX=<PREFIX>` to specify the prefix for installing the headers and
126+
optional compiled examples.
105127

106128
By default, `<PREFIX>` is `/usr/local` on Linux systems.
107129

@@ -110,15 +132,17 @@ latest release from [GitHub][github_releases].
110132
* In case you also want to install the compiled example programs on your system, specify
111133
`-Dpfasst_INSTALL_EXAMPLES=ON`.
112134

113-
* For example, to build a release version with _Clang_ on a Linux system without the examples, the call to
114-
_CMake_ looks like:
135+
* For example, to build a release version with _Clang_ on a Linux system without the examples
136+
(i.e. only the core test suite and dependencies therefor), the call to _CMake_ looks like:
115137

116-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -Dpfasst_BUILD_EXAMPLES=OFF ..
138+
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang \
139+
-DCMAKE_CXX_COMPILER=clang++ -Dpfasst_BUILD_EXAMPLES=OFF ..
117140

118-
* A full debug build on a Linux system with GCC and the desire to install everything to `/home/<USER>`, call _CMake_
119-
with:
141+
* For a full debug build with enabled profiling on a Linux system with GCC and the desire to
142+
install everything to `/home/<USER>`, call _CMake_ with:
120143

121-
cmake -DCMAKE_BUILD_TYPE=Debug -Dpfasst_WITH_GCC_PROF=ON -Dpfasst_INSTALL_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=$HOME ..
144+
cmake -DCMAKE_BUILD_TYPE=Debug -Dpfasst_WITH_GCC_PROF=ON \
145+
-Dpfasst_INSTALL_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=$HOME ..
122146

123147
3. Compile:
124148

@@ -128,8 +152,8 @@ latest release from [GitHub][github_releases].
128152

129153
make test
130154

131-
In case any of the tests do not pass, please [open an issue on GitHub][github_new_issue] and provide the full log of
132-
your _CMake_ and _make_ invocations.
155+
In case any of the tests do not pass, please [open an issue on GitHub][github_new_issue] and
156+
provide the full log of your _CMake_ and _make_ invocations.
133157

134158
5. (optional) Install \em PFASST++ headers (and compiled examples if specified so):
135159

0 commit comments

Comments
 (0)