From bed7e3d2c085ce5840b354403b586f4bf8b09f88 Mon Sep 17 00:00:00 2001 From: David Wells Date: Sun, 21 Jun 2015 13:49:30 -0400 Subject: [PATCH] Update documentation with C++14 information. --- doc/doxygen/headers/laoperators.h | 5 +++-- doc/doxygen/options.dox.in | 1 + doc/news/changes.h | 6 ++++++ doc/users/cmake.html | 35 ++++++++++++++++++++++++------- doc/users/cmakelists.html | 1 + doc/users/config.sample | 14 ++++++++++++- 6 files changed, 52 insertions(+), 10 deletions(-) diff --git a/doc/doxygen/headers/laoperators.h b/doc/doxygen/headers/laoperators.h index 67ba1ae867..00db2735b9 100644 --- a/doc/doxygen/headers/laoperators.h +++ b/doc/doxygen/headers/laoperators.h @@ -21,8 +21,9 @@ *

Linear Operator

* * If deal.II is configured with C++11 support (i.e., - * DEAL_II_WITH_CXX11=on during configuration) a versatile - * mechanism for storing the concept of a linear operator is available. + * DEAL_II_WITH_CXX11=ON or DEAL_II_WITH_CXX14=ON + * during configuration) a versatile mechanism for storing the concept of a + * linear operator is available. * * This is done with a LinearOperator class that, similarly to the abstract * MATRIX interface, defines a minimal interface for applying a diff --git a/doc/doxygen/options.dox.in b/doc/doxygen/options.dox.in index ba60985bbf..8375cf2b9b 100644 --- a/doc/doxygen/options.dox.in +++ b/doc/doxygen/options.dox.in @@ -159,6 +159,7 @@ PREDEFINED = DOXYGEN=1 \ DEAL_II_WITH_ARPACK=1 \ DEAL_II_WITH_BOOST=1 \ DEAL_II_WITH_CXX11=1 \ + DEAL_II_WITH_CXX14=1 \ DEAL_II_WITH_HDF5=1 \ DEAL_II_WITH_LAPACK=1 \ DEAL_II_WITH_METIS=1 \ diff --git a/doc/news/changes.h b/doc/news/changes.h index 4a17b396d9..07c0d0191f 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -385,6 +385,12 @@ inconvenience this causes.
    +
  1. New: deal.II now supports compilation in C++14 mode, which may be + enabled with the CMake option DEAL_II_WITH_CXX14. +
    + (David Wells, 2015/06/21) +
  2. +
  3. New: Implement a modified version of the Kelly error estimator, which effectively provides the boundary residual term for the hp-FEM error estimators.
    diff --git a/doc/users/cmake.html b/doc/users/cmake.html index 8250ee22b6..40363835a0 100644 --- a/doc/users/cmake.html +++ b/doc/users/cmake.html @@ -426,13 +426,24 @@ parameter_gui - builds and installs the 'parameter_gui' component

    Feature configuration

    - deal.II provides (optional) interfaces to quite - a number of external libraries. All of these are represented by - cmake variables that are set to ON if - an external package is found or to OFF otherwise. By - explicitly setting it to off either on the command line or using - ccmake, you can prevent deal.II - from using this external package, even if it is found. + deal.II provides (optional) interfaces to quite a + number of external libraries as well as multiple versions + of C++. All of these options are represented + by cmake variables that may be set to either ON + or OFF. + + By default, deal.II does not provide the compiler with + any C++ version flag. If + either DEAL_II_WITH_CXX11 or DEAL_II_WITH_CXX14 + is set to ON, then cmake will attempt to + determine both the level of compliance and the correct compiler flag for + the requested language standard. + + The remaining flags are set to ON if an external package is + found or to OFF otherwise. By explicitly setting it to off + either on the command line or using ccmake, you can + prevent deal.II from using an external package, even if + it is found.

    @@ -444,6 +455,7 @@ DEAL_II_WITH_ARPACK DEAL_II_WITH_BOOST DEAL_II_WITH_BZIP2 DEAL_II_WITH_CXX11 +DEAL_II_WITH_CXX14 DEAL_II_WITH_HDF5 DEAL_II_WITH_LAPACK DEAL_II_WITH_METIS @@ -477,6 +489,15 @@ DEAL_II_WITH_ZLIB libraries.

    +

    + Additionally, the variable +

    +DEAL_II_CXX_VERSION_FLAG
    +
    + may be set to specify the C++ language version flag passed to + the compiler. +

    +

    There are some options to determine the behavior of the dependency resolution. diff --git a/doc/users/cmakelists.html b/doc/users/cmakelists.html index a3e204cdb1..a03ac2187a 100644 --- a/doc/users/cmakelists.html +++ b/doc/users/cmakelists.html @@ -848,6 +848,7 @@ DEAL_II_WITH_ARPACK DEAL_II_WITH_BOOST DEAL_II_WITH_BZIP2 DEAL_II_WITH_CXX11 +DEAL_II_WITH_CXX14 DEAL_II_WITH_HDF5 DEAL_II_WITH_LAPACK DEAL_II_WITH_METIS diff --git a/doc/users/config.sample b/doc/users/config.sample index d45cac19f0..b761fa5ce2 100644 --- a/doc/users/config.sample +++ b/doc/users/config.sample @@ -583,7 +583,19 @@ # # A custom C++11 flag can be set by setting # -# SET(DEAL_II_CXX11_FLAG "-std=c++0x" CACHE STRING "") +# SET(DEAL_II_CXX_VERSION_FLAG "-std=c++0x" CACHE STRING "") +# + +# +# C++14 support: +# +# SET(DEAL_II_WITH_CXX14 ON CACHE BOOL +# "deal.II using C++14 language standard" +# ) +# +# A custom C++14 flag can be set by setting +# +# SET(DEAL_II_CXX_VERSION_FLAG "-std=c++1y" CACHE STRING "") # -- 2.39.5