# TRILINOS_VERSION_MAJOR
# TRILINOS_VERSION_MINOR
# TRILINOS_VERSION_SUBMINOR
+# TRILINOS_WITH_MANDATORY_CXX11
# TRILINOS_WITH_MPI
# TRILINOS_SUPPORTS_CPP11
# TRILINOS_HAS_C99_TR1_WORKAROUND
ENDIF()
#
-# Look for the one include file that we'll query for further information:
+# Look for Epetra_config.h - we'll query it to determine MPI and 64bit
+# indices support:
#
DEAL_II_FIND_FILE(EPETRA_CONFIG_H Epetra_config.h
HINTS ${Trilinos_INCLUDE_DIRS}
ENDIF()
ENDIF()
+#
+# Look for Sacado_config.h - we'll query it to determine C++11 support:
+#
+DEAL_II_FIND_FILE(SACADO_CONFIG_H Sacado_config.h
+ HINTS ${Trilinos_INCLUDE_DIRS}
+ NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH
+ NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH
+ )
+
+SET(TRILINOS_WITH_MANDATORY_CXX11 FALSE)
+IF(EXISTS ${SACADO_CONFIG_H})
+ #
+ # Determine whether Trilinos was configured with C++11 support and
+ # enabling C++11 in deal.II is mandatory (Trilinos 12.0.1 and later).
+ #
+ FILE(STRINGS "${SACADO_CONFIG_H}" SACADO_CXX11_STRING
+ REGEX "#define HAVE_SACADO_CXX11")
+ IF(NOT "${SACADO_CXX11_STRING}" STREQUAL "")
+ SET(TRILINOS_WITH_MANDATORY_CXX11 TRUE)
+ ENDIF()
+ENDIF()
+
#
# Some versions of Sacado_cmath.hpp do things that aren't compatible
# with the -std=c++0x flag of GCC, see deal.II FAQ.