diff --git a/cmake/modules/CheckCXX11Features.cmake b/cmake/modules/CheckCXX11Features.cmake index 7ddaf3021128453fa385b7bfe627f341268b9f69..78d048d2c604669bab2cde67bf9fd3783f975283 100644 --- a/cmake/modules/CheckCXX11Features.cmake +++ b/cmake/modules/CheckCXX11Features.cmake @@ -342,4 +342,18 @@ check_cxx_source_compiles(" " HAVE_CONSTEXPR ) +# keyword final +check_cxx_source_compiles(" + struct Foo + { + virtual void foo() final; + }; + + int main(void) + { + return 0; + } +" HAVE_KEYWORD_FINAL +) + cmake_pop_check_state() diff --git a/config.h.cmake b/config.h.cmake index 6972a7da4227e5a489fd0fb2009d16c9b5974a0b..9c0b1691863431a4fca4998bd1b4939dca12f164 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -163,6 +163,9 @@ /* Define to 1 if C++11 constexpr is supported */ #cmakedefine HAVE_CONSTEXPR 1 +/* does the compiler support the keyword 'final'? */ +#cmakedefine HAVE_KEYWORD_FINAL 1 + /* Define to if the UMFPack library is available */ #cmakedefine HAVE_UMFPACK ENABLE_UMFPACK