Skip to content

Commit

Permalink
Added caliper and adiak to TPL list, changed italics to bold for defa…
Browse files Browse the repository at this point in the history
…ult options since italics was too subtle
  • Loading branch information
ldowen committed Sep 5, 2024
1 parent 4c21cbd commit 209ffa5
Showing 1 changed file with 24 additions and 22 deletions.
46 changes: 24 additions & 22 deletions docs/build_guide/include/appendecies/cmake_config.rst.inc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ For just the C++ compiled Spheral a number of TPLs are required:
- Polyclipper
- Conduit
- Axom
- Adiak
- Caliper

There are also a number of libraries / python packages that are required for compiling the python bindings and executing Spheral at runtime:

Expand Down Expand Up @@ -66,58 +68,58 @@ OpenMP and MPI support is handled through BLT. Use the option flags ``-DENABLE_
CMake variables
--------------------

In this section we list the CMake variables that can be tweaked for a Spheral build. Where appropriate the options are listed, with the default value in *italics*.
In this section we list the CMake variables that can be tweaked for a Spheral build. Where appropriate the options are listed, with the default value in **bold**.

``CMAKE_BUILD_TYPE`` (Debug, *Release*, RelWithDebInfo, MinSizeRel)
``CMAKE_BUILD_TYPE`` (Debug, **Release**, RelWithDebInfo, MinSizeRel)
Choose the type of build -- for more information see the `CMake documentation <https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html>`_.

``CMAKE_INSTALL_PREFIX``
The top-level path for installing Spheral include files, libraries, and any Python modules or documentation.

``ENABLE_CXXONLY`` (On, *Off*)
``ENABLE_CXXONLY`` (On, **Off**)
Do not build python wrappers for Spheral.

``ENABLE_STATIC_CXXONLY`` (On, *Off*)
``ENABLE_STATIC_CXXONLY`` (On, **Off**)
Do not build python wrappers for Spheral. Build and export static library files for Spheral.

``ENABLE_SHARED`` (*On*, Off)
``ENABLE_SHARED`` (**On**, Off)
Build Spheral C++ libraries as shared libraries.

``ENABLE_DEV_BUILD`` (On, *Off*)
``ENABLE_DEV_BUILD`` (On, **Off**)
Builds separate internal C++ libraries for faster code development.

``<TPL-Name-Here>_DIR``
Directory of previously built TPL.

``ENABLE_STATIC_TPL`` (On, *Off*)
``ENABLE_STATIC_TPL`` (On, **Off**)
Link static libraries instead of shared for HDF5 and Conduit.

``ENABLE_OPENMP`` (*On*, Off)
``ENABLE_OPENMP`` (**On**, Off)
Support for OpenMP.

``ENABLE_MPI`` (*On*, Off)
``ENABLE_MPI`` (**On**, Off)
Support for MPI.

``ENABLE_1D`` (*On*, Off)
``ENABLE_1D`` (**On**, Off)
Build Spheral with 1D support.

``ENABLE_2D`` (*On*, Off)
``ENABLE_2D`` (**On**, Off)
Build Spheral with 2D support.

``ENABLE_3D`` (*On*, Off)
``ENABLE_3D`` (**On**, Off)
Build Spheral with 3D support.

``ENABLE_ANEOS`` (*On*, Off)
``ENABLE_ANEOS`` (**On**, Off)
Install the ANEOS (Analytics Equation of State) package along with the Spheral interface to it. This is a legacy equation of state frequently used for geophysical materials. See descriptions in the `iSALE <https://github.com/isale-code/M-ANEOS>`_ documentation.

``ENABLE_HELMHOLTZ`` (*On*, Off)
``ENABLE_HELMHOLTZ`` (**On**, Off)
Compile the included Helmholtz equation of state, typically used in astrophysical calculations. See a discussion `here <http://cococubed.asu.edu/code_pages/eos.shtml>`_.

``ENABLE_OPENSUBDIV`` (*On*, Off)
``ENABLE_OPENSUBDIV`` (**On**, Off)
Install the Opensubdiv library along with the Spheral interface to it. Opensubdiv is a `Pixar provided library <https://github.com/PixarAnimationStudios/OpenSubdiv>`_, which Spheral uses to implement refinement of polyhedra for some specialized problem generation capabilities.

``ENABLE_TIMER`` (*On*, Off)
Enable timer information from Spheral.
``ENABLE_TIMER`` (On, **Off**)
Enable Caliper timer information for Spheral.

``DBC_MODE`` (None, All, Pre)
Set the compile time design by contract (DBC) mode for Spheral. Design by contract statements are very useful developer tools, whereby the developer can insert tests in the code as they write it. These statements are both useful for tracking down bugs with fine-grained testing throughout the code, as well as useful documentation in the code about what sort of conditions are expected to hold.
Expand All @@ -138,23 +140,23 @@ In this section we list the CMake variables that can be tweaked for a Spheral bu

It is worth noting ``DBC_MODE=All`` is quite expensive at run time (of order 4x more), so this is not intended to be active for a release/production compilation of Spheral.

``ENABLE_WARNINGS`` (On, *Off*)
``ENABLE_WARNINGS`` (On, **Off**)
Enable compiler warnings.

``ENABLE_BOUNDCHECKING`` (On, *Off*)
``ENABLE_BOUNDCHECKING`` (On, **Off**)
If building with the Gnu compilers enable STL bound checking by passing -D_GLIBCXX_DEBUG=1 to the compiler.
Note, this is a very expensive option at runtime!

``ENABLE_NAN_EXCEPTIONS`` (On, *Off*)
``ENABLE_NAN_EXCEPTIONS`` (On, **Off**)
Raise exceptions in the C++ code when floating-point exceptions occur. Gnu compilers only.

``ENABLE_DOCS`` (On, *Off*)
``ENABLE_DOCS`` (On, **Off**)
Choose whether or not to build this documentation.

``SPHINX_EXECUTABLE``
Specify where the Sphinx executable is that should be used to build documentation. If not given, assumes the Spheral built Sphinx will be used.

``SPHINX_THEME`` (*sphinx_rtd_theme*)
``SPHINX_THEME`` (**sphinx_rtd_theme**)
Give the Sphinx theme to use when generating documentation. Default based on read the docs theme.

``SPHINX_THEME_DIR``
Expand Down

0 comments on commit 209ffa5

Please sign in to comment.