From: David Wells
- deal.II provides (optional) interfaces to quite
- a number of external libraries. All of these are represented by
-
@@ -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
+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.
+
DEAL_II_WITH_CXX14
.
+
+ (David Wells, 2015/06/21)
+
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
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.
+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 "") #