@@ -28,40 +28,39 @@ the unit test suite.
28
28
Libraries and toolchain programs
29
29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30
30
31
- + CMake version 2.8.9 and higher;
31
+ + CMake version 2.8.10 and higher;
32
32
+ Git version 1.7.1 and higher;
33
- + Python interpreter 2.4 and higher;
33
+ + Python interpreter 2.7 and higher;
34
34
+ Boost libraries version 1.54.0 and higher;
35
35
36
36
.. note ::
37
37
38
- Version 1.54.0 of Boost libraries is shipped with the module and resides in the `cmake/downloaded ` subdirectory.
38
+ Version 1.54.0 of Boost libraries is shipped with the module and resides in the `` cmake/downloaded ` ` subdirectory.
39
39
Unless you want to use another version of Boost, you should not worry about satisfying this dependency.
40
40
41
41
+ `zlib <http://www.zlib.net/ >`_ version 1.2 and higher (unit test suite only);
42
42
+ Doxygen version 1.7.6 and higher (documentation only)
43
43
+ Perl (documentation only)
44
- + PyYAML Python module (documentation only)
45
44
+ Sphinx (documentation only)
46
45
47
46
PCMSolver relies on the Eigen template libraries version 3.3.0 and higher.
48
- Version 3.3.0 of Eigen libraries is shipped with the module and resides in the `external ` subdirectory.
47
+ Version 3.3.0 of Eigen libraries is shipped with the module and resides in the `` external ` ` subdirectory.
49
48
50
49
Configuration
51
50
-------------
52
51
53
- Configuration is managed through the front-end script `setup ` residing in the
52
+ Configuration is managed through the front-end script `` setup ` ` residing in the
54
53
repository main directory. Issuing:
55
54
56
55
.. code-block :: bash
57
56
58
57
./setup [options] [build path]
59
58
60
59
will create the build directory in build path and run CMake with the given
61
- options. By default, files are configured in the `build ` directory. The `-h ` or
62
- `--help ` option will list the available options and their effect. Options can
63
- be forwarded directly to CMake by using the `--cmake-options ` flag and listing
64
- the `-D... ` options. Usually the following command is sufficient to get the
60
+ options. By default, files are configured in the `` build `` directory. The `` -h ` ` or
61
+ `` --help ` ` option will list the available options and their effect. Options can
62
+ be forwarded directly to CMake by using the `` --cmake-options ` ` flag and listing
63
+ the `` -D... ` ` options. Usually the following command is sufficient to get the
65
64
configuration done for a debug build, including compilation of the unit test
66
65
suite:
67
66
70
69
./setup --type=debug
71
70
72
71
The unit tests suite is **always ** compiled in standalone mode, unless the
73
- `-DENABLE_TESTS=OFF ` option is forwarded to CMake.
72
+ `` -DENABLE_TESTS=OFF ` ` option is forwarded to CMake.
74
73
75
74
Getting Boost
76
75
~~~~~~~~~~~~~
@@ -87,22 +86,22 @@ documentation on how to build Boost on Unix variants is available
87
86
`here <http://www.boost.org/doc/libs/1_56_0/more/getting_started/unix-variants.html >`_.
88
87
It is here assumed that the user **does not ** have root access to the machine
89
88
and will install the libraries to a local prefix, a subdirectory of
90
- `/home/user-name ` tipically.
89
+ `` /home/user-name ` ` tipically.
91
90
Once you've downloaded and unpacked the archive, run the bootstrap script to configure:
92
91
93
92
.. code-block :: bash
94
93
95
94
cd path/to/boost
96
95
./bootstrap.sh --prefix=/home/user-name/boost
97
96
98
- Running `./bootstrap.sh --help ` will list the available options for the script. To build run:
97
+ Running `` ./bootstrap.sh --help ` ` will list the available options for the script. To build run:
99
98
100
99
.. code-block :: bash
101
100
102
101
./b2 install
103
102
104
103
This might take a while. After a successful build you will find the headers in
105
- `/home/user-name/boost/include ` and libraries in `/home/user-name/boost/lib `
104
+ `` /home/user-name/boost/include `` and libraries in `` /home/user-name/boost/lib ` `
106
105
Now, you will have Boost in a nonstandard location. Without hints CMake will
107
106
not be able to find it and configuration of `PCMSolver ` will fail. To avoid
108
107
this, you will have to pass the location of the headers and libraries to the
@@ -124,55 +123,55 @@ Advanced configuration options
124
123
These options are marked as advanced as it is highly unlikely they will
125
124
be useful when not programming the library:
126
125
127
- * `--exdiag ` Enable C++ extended diagnostics flags. Disabled by default.
128
- * `--ccache ` Enable use of ccache for C/C++ compilation caching.
126
+ * `` --exdiag ` ` Enable C++ extended diagnostics flags. Disabled by default.
127
+ * `` --ccache ` ` Enable use of ccache for C/C++ compilation caching.
129
128
Enabled by default, unless ccache is not available.
130
- * `--build-boost ` Deactivate Boost detection and build on-the-fly. Disabled by default.
131
- * `--eigen ` Root directory for Eigen3. Search for Eigen3 in the location provided by the
129
+ * `` --build-boost ` ` Deactivate Boost detection and build on-the-fly. Disabled by default.
130
+ * `` --eigen ` ` Root directory for Eigen3. Search for Eigen3 in the location provided by the
132
131
user. If search fails, fall back to the version bundled with the library.
133
- * `--static ` Create only static library. Disabled by default.
132
+ * `` --static ` ` Create only static library. Disabled by default.
134
133
135
- Some options can only be tweaked `via ` `--cmake-options ` to the setup script:
134
+ Some options can only be tweaked `via ` `` --cmake-options ` ` to the setup script:
136
135
137
- * `ENABLE_CXX11_SUPPORT ` Enable C++11 support. Tries to detect which C++11 features
136
+ * `` ENABLE_CXX11_SUPPORT ` ` Enable C++11 support. Tries to detect which C++11 features
138
137
are supported by the compiler and enables use of the new standard. Enabled by default.
139
138
140
139
.. warning ::
141
140
142
141
This option is **always ** overridden for some compilers that have
143
142
buggy C++11 support.
144
143
145
- * `ENABLE_DOCS ` Enable build of documentation. This requires a number of additional dependencies.
144
+ * `` ENABLE_DOCS ` ` Enable build of documentation. This requires a number of additional dependencies.
146
145
If any of these are not met, documentation is not built. Enabled by default.
147
- * `ENABLE_LOGGER ` Enable compilation of logger sources. Disabled by default.
146
+ * `` ENABLE_LOGGER ` ` Enable compilation of logger sources. Disabled by default.
148
147
149
148
.. warning ::
150
149
151
150
The logger is not currently in use in any part of the code.
152
151
153
- * `ENABLE_TIMER ` Enable compilation of timer sources. Enabled by default.
154
- * `BUILD_STANDALONE ` Enable compilation of standalone `run_pcm ` executable. Enabled by default.
155
- * `ENABLE_Fortran_API ` Enable compilation of the Fortran90 bindings for the API. Enabled by default.
156
- * `ENABLE_GENERIC ` Enable mostly static linking in shared library. Disabled by default.
157
- * `ENABLE_TESTS ` Enable compilation of unit tests suite. Enabled by default.
158
- * `SHARED_LIBRARY_ONLY ` Create only shared library. Opposite of `--static `.
159
- * `PYMOD_INSTALL_LIBDIR ` *If set *, installs python scripts/modules to
152
+ * `` ENABLE_TIMER ` ` Enable compilation of timer sources. Enabled by default.
153
+ * `` BUILD_STANDALONE `` Enable compilation of standalone `` run_pcm ` ` executable. Enabled by default.
154
+ * `` ENABLE_Fortran_API ` ` Enable compilation of the Fortran90 bindings for the API. Enabled by default.
155
+ * `` ENABLE_GENERIC ` ` Enable mostly static linking in shared library. Disabled by default.
156
+ * `` ENABLE_TESTS ` ` Enable compilation of unit tests suite. Enabled by default.
157
+ * `` SHARED_LIBRARY_ONLY `` Create only shared library. Opposite of `` --static ` `.
158
+ * `` PYMOD_INSTALL_LIBDIR ` ` *If set *, installs python scripts/modules to
160
159
``${CMAKE_INSTALL_LIBDIR}${PYMOD_INSTALL_LIBDIR}/pcmsolver `` rather than the
161
160
default ``${CMAKE_INSTALL_BINDIR} `` (i.e., ``bin ``).
162
- * `CMAKE_INSTALL_BINDIR ` Where to install executables, if not to ``bin ``.
163
- * `CMAKE_INSTALL_LIBDIR ` Where to install executables, if not to ``bin ``.
164
- * `CMAKE_INSTALL_INCLUDESDIR ` Where to install executables, if not to ``bin ``.
165
-
166
- * `CMAKE_INSTALL_BINDIR ` Location within CMAKE_INSTALL_PREFIX (``--prefix ``) to
167
- which executables are installed (default: bin).
168
- * `CMAKE_INSTALL_LIBDIR ` Location within CMAKE_INSTALL_PREFIX (``--prefix ``) to
169
- which libraries are installed (default: lib).
170
- * `CMAKE_INSTALL_INCLUDEDIR ` Location within CMAKE_INSTALL_PREFIX (``--prefix ``)
171
- to which headers are installed (default: include).
172
- * `PYMOD_INSTALL_LIBDIR ` *If set *, location within CMAKE_INSTALL_LIBDIR to which
161
+ * `` CMAKE_INSTALL_BINDIR ` ` Where to install executables, if not to ``bin ``.
162
+ * `` CMAKE_INSTALL_LIBDIR ` ` Where to install executables, if not to ``bin ``.
163
+ * `` CMAKE_INSTALL_INCLUDESDIR ` ` Where to install executables, if not to ``bin ``.
164
+
165
+ * `` CMAKE_INSTALL_BINDIR `` Location within `` CMAKE_INSTALL_PREFIX `` (``--prefix ``) to
166
+ which executables are installed (default: `` bin `` ).
167
+ * `` CMAKE_INSTALL_LIBDIR `` Location within `` CMAKE_INSTALL_PREFIX `` (``--prefix ``) to
168
+ which libraries are installed (default: `` lib `` ).
169
+ * `` CMAKE_INSTALL_INCLUDEDIR `` Location within `` CMAKE_INSTALL_PREFIX `` (``--prefix` ``)
170
+ to which headers are installed (default: `` include `` ).
171
+ * `` PYMOD_INSTALL_LIBDIR `` *If set *, location within `` CMAKE_INSTALL_LIBDIR `` to which
173
172
python modules are installed,
174
- ``${CMAKE_INSTALL_LIBDIR}${PYMOD_INSTALL_LIBDIR}/pcmsolver ``. *If not set *,
175
- python modules installed to default ``${CMAKE_INSTALL_BINDIR} `` (i.e., `` bin ``) .
173
+ ``${CMAKE_INSTALL_LIBDIR}/ ${PYMOD_INSTALL_LIBDIR}/pcmsolver ``. *If not set *,
174
+ python modules installed to default ``${CMAKE_INSTALL_LIBDIR}/python/pcmsolver `` .
176
175
177
176
Build and test
178
177
--------------
@@ -183,13 +182,13 @@ To compile and link, just go to the build directory and run:
183
182
184
183
make -j N
185
184
186
- where `N ` is the number of cores you want to use when building.
185
+ where `` N ` ` is the number of cores you want to use when building.
187
186
188
187
.. note ::
189
188
190
189
Building on more than one core can sometimes result in a "race condition"
191
190
and a crash. If that happens, please report the problem as an issue on our
192
- issue tracker on GitHub. Running `make ` on a single core might get you through
191
+ issue tracker on GitHub. Running `` make ` ` on a single core might get you through
193
192
compilation.
194
193
195
194
To run the whole test suite:
0 commit comments