From: maier Table of contents
@@ -57,7 +55,7 @@
When configuring deal.II by @@ -69,22 +67,11 @@
- Normally, after running cmake
one will simply build
- the library by calling make
. If the library changes,
- a subsequent call to make
will only re-compile those
- files that depend on sources that have changed. In other words,
- one will rarely have to deal with the cached variables at all.
-
- That said, it is occasionally helpful to run cmake
- again, either because one would like to change the configuration
- parameters or because some configuration file (e.g., one of
- the CMakeLists.txt
files) has changed. (In fact,
- if the latter happens to be the case, then just
- calling make
calls back and runs cmake
- again automatically.) Either way, if that happens,
- then cmake
will only run whatever tests are really
+ On a subsequent call to cmake
, e.g. to change the
+ configuration or due to a callback from the build system because some
+ configuration file (the CMakeLists.txt
and
+ cmake/<..>.cmake
files) has changed,
+ cmake
will only run whatever tests are
necessary; values for variables that are already in the cache
are not re-evaluated. This means that calling cmake
a second time without any arguments at all in a situation like this
@@ -95,11 +82,11 @@
cmake -DCMAKE_INSTALL_PREFIX=/path/install/dir ../deal.II
cmake ../deal.II
- has absolutely no effect: In particular, the second time around
- it uses the CMAKE_INSTALL_PREFIX
value previously
- passed, along with all other arguments one may have had on the
- first invocation. This is different from the way
- the autoconf/configure
mechanism worked.
+ has no effect: In particular, the second time around it
+ uses the CMAKE_INSTALL_PREFIX
value previously
+ passed, along with all other arguments one may have had on
+ the first invocation. This is different from the way the
+ autoconf/configure
mechanism worked.
@@ -131,65 +118,14 @@
mkdir build
cd build
cmake ../deal.II
- cmake -DDEAL_II_WITH_METIS=OFF ../
+ cmake -DDEAL_II_WITH_METIS=OFF .
+ cmake -DDEAL_II_WITH_TRILINOS=ON -DTRILINOS_DIR=/path/to/trilinos .
switches off support for the METIS library that may have been
automatically detected during the first invocation of
- cmake
but that we really didn't want to link with.
-
- -
- While developing the library itself, it is often desirable
- to only compile certain parts. The build system generated by
- cmake
allows to build specific, selected targets.
- A common scenario is that you only want to build debug or optimized
- libraries. This can be achieved using the following commands in
- the build directory:
-
- - make deal_II.g # only debug library - make deal_II # only release (optimized) library - make all # both -- - -
- For a complete list of possible targets that allow even - finer-grained control, do -
- - make help -- - -
- It is frequently useful to be able to see what a particular - command does. In that case, use the following: -
- - make deal_II.g VERBOSE=ON -- This will show, for every command executed, the exact command - line with which it was invoked, including compiler arguments, - etc. Every command
cmake
executes starts with
- a cd
command to change the current directory
- appropriately so that the command line can be copied and executed
- from anywhere within the build directory.
-
-
-
- Note: Just because you can call make deal_II.g
to
- only compile the debug version does not mean that a
- subsequent make install
will only install the debug
- library. Rather, make install
will still want to have both
- libraries up to date and will therefore invoke make all
- automatically. To restrict builds in such a way that only one library
- will be installed, see this section.
+ cmake
and enables support for Trilinos by enablind
+ DEAL_II_WITH_TRILINOS
and setting
+ TRILINOS_DIR
.
+ +
+ While developing the library itself, it is often desirable
+ to only compile certain parts. The build system generated by
+ cmake
allows to build specific, selected targets.
+ A common scenario is that you only want to build debug or optimized
+ libraries. This can be achieved using the following commands in
+ the build directory:
+
+ + make deal_II.g # only debug library + make deal_II # only release (optimized) library + make all # both + + make obj_grid.release # all objects in ./source/grid in release configuration ++ + +
+ For a complete list of possible targets that allow even + finer-grained control, do +
+ + make help ++ + +
+ It is frequently useful to be able to see what a particular + command does. In that case, use the following: +
+ + make deal_II.g VERBOSE=ON ++ This will show, for every command executed, the exact command + line with which it was invoked, including compiler arguments, + etc. Every command
cmake
executes starts with
+ a cd
command to change the current directory
+ appropriately so that the command line can be copied and executed
+ from anywhere within the build directory.
+
+
+
+ Note: Just because you can call make deal_II.g
to
+ only compile the debug version does not mean that a
+ subsequent make install
will only install the debug
+ library. Rather, make install
will still want to have both
+ libraries up to date and will therefore invoke make all
+ automatically. To restrict builds in such a way that only one library
+ will be installed, see this section.
+