changed: require C++17

use the standard cmake mechanism to do so
This commit is contained in:
Arne Morten Kvarving 2022-05-11 10:01:32 +02:00
parent 6bbe09a312
commit fb16d476bf
4 changed files with 6 additions and 35 deletions

View File

@ -1,25 +0,0 @@
include(TestCXXAcceptsFlag)
# try to use compiler flag -std=c++14
check_cxx_accepts_flag("-std=c++14" CXX_FLAG_CXX14)
if(CXX_FLAG_CXX14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
set(CXX_STD11_FLAGS "-std=c++14")
set(CXX_STD14_FLAGS "-std=c++14")
else()
check_cxx_accepts_flag("-std=c++11" CXX_FLAG_CXX11)
if(CXX_FLAG_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CXX_STD11_FLAGS "-std=c++11")
else()
# try to use compiler flag -std=c++0x for older compilers
check_cxx_accepts_flag("-std=c++0x" CXX_FLAG_CXX0X)
if(CXX_FLAG_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
set(CXX_STD11_FLAGS "-std=c++0x")
endif()
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CXX11 DEFAULT_MSG CXX_STD11_FLAGS)

View File

@ -2,6 +2,9 @@
enable_language(CXX)
enable_language(Fortran)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Custom profiles
if(NOT IFEM_BUILD_TYPE)

View File

@ -55,7 +55,9 @@ ENDIF(IFEM_WHOLE_PROG_OPTIM)
FIND_PACKAGE(GoTools REQUIRED)
FIND_PACKAGE(GoTrivariate REQUIRED)
FIND_PACKAGE(ARPACK REQUIRED)
find_package(CXX11 REQUIRED)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Mimimum GoTools version
IF(GoTools_VERSION_MAJOR LESS 3 OR NOT GoTools_VERSION_MAJOR)

View File

@ -38,15 +38,6 @@ endif()
list(APPEND ISTL_INCLUDE_DIRS ${ISTL_INCLUDEDIR})
if(DUNE_ISTL_VERSION_MAJOR GREATER 2 OR DUNE_ISTL_VERSION_MINOR GREATER 4)
if(NOT CXX_STD14_FLAGS)
message(STATUS dune-istl >= 2.5 requires c++14 support)
set(ISTL_LIBRARIES)
set(ISTL_DEFINITIONS)
set(ISTL_INCLUDE_DIRS)
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ISTL DEFAULT_MSG
ISTL_INCLUDE_DIRS ISTL_LIBRARIES)