Skip to content

Commit 07657ec

Browse files
authored
Merge pull request #611 from pbauman/c++17
Require C++17
2 parents dba5f09 + 25c7c0e commit 07657ec

File tree

2 files changed

+12
-55
lines changed

2 files changed

+12
-55
lines changed

README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
GRINS
22
=======
33

4-
General Reacting Incompressible Navier-Stokes (GRINS) was initiated
4+
General Reacting Incompressible Navier-Stokes (GRINS) was initiated
55
to house common modeling work centered around using the incompressible
66
and variable-density (low-Mach) Navier-Stokes equations
77
utilizing the [libMesh](https://github.com/libMesh/libmesh.git) finite
88
element library, including both MPI and MPI+threads parallelism,
9-
as provided by [libMesh](https://github.com/libMesh/libmesh.git).
9+
as provided by [libMesh](https://github.com/libMesh/libmesh.git).
1010
GRINS has now become a tool for rapidly developing
1111
formulations and algorithms for the solution of complex multiphysics
12-
applications.
12+
applications.
1313
GRINS originally lived within
1414
the [PECOS](http://pecos.ices.utexas.edu) center at the Institute for Computational
1515
Engineering and Sciences ([ICES](https://www.ices.utexas.edu))
@@ -25,11 +25,11 @@ Dependencies
2525
Requirements
2626
------------
2727

28-
In addition to a C++11 compiler, GRINS requires an up-to-date installation of the [libMesh](https://github.com/libMesh/libmesh.git) finite element library.
28+
In addition to a C++17 compiler, GRINS requires an up-to-date installation of the [libMesh](https://github.com/libMesh/libmesh.git) finite element library.
2929

3030
libMesh
3131
-------
32-
GRINS development both drives and is driven by libMesh development. Thus, the required minimum master hash of libMesh may change in GRINS master. The current required libMesh master hash is 943d5d0 [PR #2088](https://github.com/libMesh/libmesh/pull/2088), as of GRINS [PR #577](https://github.com/grinsfem/grins/pull/577).
32+
GRINS development both drives and is driven by libMesh development. Thus, the required minimum master hash of libMesh may change in GRINS master. The current required libMesh master hash is f0def3f [PR #3168](https://github.com/libMesh/libmesh/pull/3168), as of GRINS [PR #611](https://github.com/grinsfem/grins/pull/611).
3333
GRINS release 0.5.0 can use libMesh versions as old as 0.9.4. Subsequent to
3434
the 0.5.0 release requires at least libMesh 1.0.0.
3535

@@ -44,7 +44,7 @@ an external chemistry library. Both [Cantera](http://code.google.com/p/cantera/)
4444
The current required minimum hash for using Antioch is libantioch/antioch@e17822d (libantioch/antioch#265).
4545

4646

47-
Building GRINS
47+
Building GRINS
4848
================
4949

5050
GRINS uses an Autotools build system, so typical GNU build commands are used. We support, and encourage, out-of-source builds (so-called VPATH builds). However, in-source builds are supported.
@@ -78,7 +78,7 @@ not `METHODS`. For example
7878
is valid.
7979

8080
The user can define
81-
their own CXXFLAGS variable by passing
81+
their own CXXFLAGS variable by passing
8282
<pre><code>
8383
--disable-libmesh-flags CXXFLAGS="your flags here"
8484
</code>

configure.ac

+5-48
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,11 @@ fi
8686
dnl -Wall warnings, -Wall the time.
8787
AX_CXXFLAGS_WARN_ALL
8888

89-
dnl--------------------------
90-
dnl Even if no dependency needed it,
91-
dnl C++11 makes our asserts nicer,
92-
dnl so let's try and enable it.
93-
dnl--------------------------
94-
AC_ARG_ENABLE(cxx11,
95-
AC_HELP_STRING([--enable-cxx11],
96-
[build with C++11 support]),
97-
[case "${enableval}" in
98-
yes) enablecxx11=yes ;;
99-
no) enablecxx11=no ;;
100-
*) AC_MSG_ERROR(bad value ${enableval} for --enable-cxx11) ;;
101-
esac],
102-
[enablecxx11=optional])
103-
104-
if (test x$enablecxx11 = xyes); then
105-
AX_CXX_COMPILE_STDCXX_11(noext, mandatory)
106-
elif (test x$enablecxx11 = xoptional); then
107-
AX_CXX_COMPILE_STDCXX_11(noext, optional)
108-
fi
89+
dnl-------------------------------------------
90+
dnl libMesh is using c++17 now, so we will too
91+
dnl-------------------------------------------
92+
AX_CXX_COMPILE_STDCXX_17(noext, mandatory)
93+
10994

11095
dnl---------------------------------------------------------
11196
dnl Add libMesh flags manually if it's not a libtool build
@@ -132,34 +117,6 @@ dnl----------------
132117
dnl### AX_PATH_GSL(1.10,AM_CONDITIONAL([UQBT_GSL], [test 'TRUE']),AC_MSG_ERROR([Could not find required GSL version.]))
133118
dnl AC_CACHE_SAVE
134119

135-
136-
dnl------------------------------------------
137-
dnl Check if libMesh detected std::shared_ptr
138-
dnl------------------------------------------
139-
AC_MSG_CHECKING([for C++11 std::shared_ptr support from libMesh])
140-
grins_save_CPPFLAGS=$CPPFLAGS
141-
CPPFLAGS="$LIBMESH_CPPFLAGS $CPPFLAGS"
142-
libmesh_have_cxx11_shared_ptr=no
143-
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
144-
@%:@include <libmesh/libmesh_config.h>
145-
]],
146-
[[
147-
#if LIBMESH_HAVE_CXX11_SHARED_PTR
148-
#else
149-
#error "libMesh shared_ptr support not found!"
150-
#endif
151-
]])
152-
],
153-
[
154-
libmesh_have_cxx11_shared_ptr=yes
155-
AC_MSG_RESULT(yes)
156-
],[
157-
libmesh_have_cxx11_shared_ptr=no
158-
AC_MSG_RESULT(no)
159-
])
160-
CPPFLAGS=$grins_save_CPPFLAGS
161-
162-
163120
dnl-----------------------
164121
dnl Check for Cantera 2.0+
165122
dnl-----------------------

0 commit comments

Comments
 (0)