This sets up all cached variables prior to the call to
<code>PROJECT(deal.II)</code>. For details see the comment at the
top. Furthermore, some bookkeeping for compiler and linker flags
- takes place, see <a href="../users/cmake.html#configurebuild">the section
+ takes place, see <a href="../users/cmake_dealii.html#configurebuild">the section
about compile flags</a>.
<li> <code>setup_deal_ii.cmake</code>:
This file is included immediately after the call to
module is used to determine whether an external dependency can be
resolved or not. Depending on the current state of
<code>DEAL_II_WITH_<FEATURE></code> (see
- <a href="../users/cmake.html#configurefeature">here</a>) the
+ <a href="../users/cmake_dealii.html#configurefeature">here</a>) the
configuration variables
<pre>
FEATURE_LIBRARIES
</pre>
After that try to compile the library with minimal external
dependencies (<code>-DDEAL_II_ALLOW_AUTODETECTION=OFF</code>, for
- further information see the <a href="../users/cmake.html">deal.II CMake
+ further information see the <a href="../users/cmake_dealii.html">deal.II CMake
documentation</a>).
<li>
For adding permanent support for the unknown compiler to the
program at the target and then inspect <code>CMakeCache.txt</code>
or you can obtain the flags using <code>mpic++ --showme:compile</code> and
<code>mpic++ --showme:link</code>. The remaining configuration can be
- adjusted at will, see <a href="cmake.html">the documentation</a>. Note
+ adjusted at will, see <a href="../users/cmake_dealii.html">the documentation</a>. Note
that the <a href="https://en.wikipedia.org/wiki/Rpath">rpaths</a> of the
examples might not be correct, this can be fixed using
<code>LD_LIBRARY_PATH</code> or <code>chrpath</code>.
* <code>make run</code>. The latter command also compiles the program if
* that has not already been done. The CMakeLists.txt files in the
* different directories are based on the
- * <a href="../../users/cmakelists.html#cmakeauto" target="_top">autopilot
+ * <a href="../../users/cmake_user.html#cmakeauto" target="_top">autopilot
* style CMakeLists.txt example</a>.
*
* @note Some of the tutorial programs also jointly form
<div style="border:1px solid #aaa; background-color: #f9f9f9;
padding: 5px; font-size: 88%; text-align: left;">
<ul>
- <li><a href="users/cmake.html">CMake documentation</a></li>
- <li><a href="users/cmakelists.html">CMake in user projects</a></li>
+ <li><a href="users/cmake_dealii.html">CMake documentation</a></li>
+ <li><a href="users/cmake_user.html">CMake in user projects</a></li>
<li><a href="users/testsuite.html">Setting up a testsuite in user projects</a></li>
<li><a href="http://www.dealii.org/reports.html">Technical reports</a></li>
</ul>
</li>
<li> If you are changing part of the <acronym>deal.II</acronym> code itself, you can re-compile the library using only the last two commands above in the previously created build directory. It is also possible to change the configuration used in this
- directory by calling <code>cmake</code> a second time, possibly with different arguments. However, this sometimes leads to surprising results and you may not get exactly what you were hoping for. For more information, see <a href="users/cmake.html">here</a>.
+ directory by calling <code>cmake</code> a second time, possibly with different arguments. However, this sometimes leads to surprising results and you may not get exactly what you were hoping for. For more information, see <a href="users/cmake_dealii.html">here</a>.
</li>
<li>
<p>
<acronym>deal.II</acronym> has a large number of optional interfaces to other libraries. <b>By default, <code>cmake</code> will automatically
enable support for all external libraries it can find in default
- paths.</b> However, this behavior can be changed using command line switches to the initial call to <code>cmake</code>. A detailed description can be found here: <a href="users/cmake.html">Detailed build system description</a>.
+ paths.</b> However, this behavior can be changed using command line switches to the initial call to <code>cmake</code>. A detailed description can be found here: <a href="users/cmake_dealii.html">Detailed build system description</a>.
</p>
<p>
<a href="http://www.netlib.org/lapack/" target="_top">LAPACK</a> (
<i>Linear Algebra Package</i>) are two packages that support low-level linear algebra operations on vectors and dense matrices. Both libraries should be packaged by almost all Linux distributions and found automatically whenever available.
(You might have to install development versions of the libraries for <acronym>deal.II</acronym> being able to use them). For details on how to set up <acronym>deal.II</acronym> with a non standard BLAS/LAPACK implementation, see the
- <a href="users/cmake.html#advanced">advanced
+ <a href="users/cmake_dealii.html#advanced">advanced
setup</a> section in the CMake ReadME.
</p>
</dd>
<p>
The <acronym>deal.II</acronym> <code>cmake</code> system allows far greater control over what exactly is configured or built than just the outline above. If you want to learn more about this, take a look
- <a href="users/cmake.html">here</a>. You might also be interested in
- <a href="users/cmakelists.html">CMake for user projects</a> or
+ <a href="users/cmake_dealii.html">here</a>. You might also be interested in
+ <a href="users/cmake_user.html">CMake for user projects</a> or
<a href="developers/cmake-internals.html">build system internals</a>.
</p>
This page presents some <code>CMakeLists.txt</code> examples for
potential use in your projects. (A detailed description of the
<acronym>deal.II</acronym> project configuration is given in the
- <a href="cmake.html" target="body">deal.II CMake ReadMe</a>.)
+ <a href="cmake_dealii.html" target="body">deal.II CMake ReadMe</a>.)
</p>
<div class="toc">
## ##
# Example configuration file #
# #
-# See doc/readme.html and doc/users/cmake.html for further #
+# See doc/readme.html and doc/users/cmake_dealii.html for further #
# details on how to use the cmake build system of deal.II. #
## ##
<p>
Again, we want to use the "autopilot" configuration for user projects
- (see the <a href="cmakelists.html">cmake documentation</a> for
+ (see the <a href="cmake_user.html">cmake documentation</a> for
details). The top-level <code>CMakeLists.txt</code> is now solely
responsible for finding deal.II, enable testing, and descending into
subdirectories: