Skip to content

Commit daec0fd

Browse files
committed
ENH: Upgrade ITK from C++11 to C++14
Follow-up to commit babb677 "COMP: Enforce building ITK with C++11", Hans Johnson, 19 January 2018
1 parent cd36c64 commit daec0fd

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

CMake/itkCompilerChecks.cmake

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND
2828
message(FATAL_ERROR "Intel C++ (ICC) 14.0 or later is required.")
2929
endif ()
3030

31-
# Make sure we have C++11 enabled.
32-
if(NOT ITK_IGNORE_CMAKE_CXX11_CHECKS)
31+
# Make sure we have C++14 enabled.
32+
if(NOT ITK_IGNORE_CMAKE_CXX14_CHECKS)
3333
# Needed to make sure libraries and executables not built by the
34-
# itkModuleMacros still have the C++11 compiler flags enabled
34+
# itkModuleMacros still have the C++14 compiler flags enabled
3535
# Wrap this in an escape hatch for unknown compilers
3636
if(NOT CMAKE_CXX_STANDARD)
37-
set(CMAKE_CXX_STANDARD 11) # Supported values are ``11``, ``14``, and ``17``.
37+
set(CMAKE_CXX_STANDARD 14) # Supported values are 14, 17, 20, and 23.
3838
endif()
3939
if(NOT CMAKE_CXX_STANDARD_REQUIRED)
4040
set(CMAKE_CXX_STANDARD_REQUIRED ON)

CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ foreach(pold "CMP0120") # CMP0120 will require non-trivial effort to address
3535
endif()
3636
endforeach()
3737

38-
# ==== Define language standard configurations requiring at least c++11 standard
39-
if(CMAKE_CXX_STANDARD EQUAL "98" )
40-
message(FATAL_ERROR "CMAKE_CXX_STANDARD:STRING=98 is not supported in ITK version 5 and greater.")
38+
# ==== Define language standard configurations requiring at least c++14 standard
39+
if(CMAKE_CXX_STANDARD EQUAL "98" OR CMAKE_CXX_STANDARD LESS "14")
40+
message(FATAL_ERROR "C++98 to C++11 are no longer supported in ITK version 5.3 and greater.")
4141
endif()
4242

4343
#####
4444
## Set the default target properties for ITK
4545
if(NOT CMAKE_CXX_STANDARD)
46-
set(CMAKE_CXX_STANDARD 11) # Supported values are ``11``, ``14``, and ``17``.
46+
set(CMAKE_CXX_STANDARD 14) # Supported values are 14, 17, 20, and 23.
4747
endif()
4848
if(NOT CMAKE_CXX_STANDARD_REQUIRED)
4949
set(CMAKE_CXX_STANDARD_REQUIRED ON)

0 commit comments

Comments
 (0)