1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# Minimum compiler version check: GCC
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
message(FATAL_ERROR "GCC 7 or later is required.")
endif()
# Minimum compiler version check: LLVM Clang
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
message(FATAL_ERROR "LLVM Clang 5 or later is required.")
endif()
# Minimum compiler version check: Apple Clang >= 10.0.0 (Xcode 10.0)
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0.0)
message(FATAL_ERROR "Apple Clang 10.0.0 or later is required.")
endif()
# Minimum compiler version check: Microsoft C/C++
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.20)
message(FATAL_ERROR "Microsoft Visual Studio 2019 16.0 (MSVC 19.20) or later is required.")
endif()
# Minimum compiler version check: Intel C++ (ICC)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.1)
message(FATAL_ERROR "Intel C++ (ICC) 19.1 or later is required.")
endif()
# Make sure we have C++17 enabled.
if(NOT ITK_IGNORE_CMAKE_CXX17_CHECKS)
# Needed to make sure libraries and executables not built by the
# itkModuleMacros still have the C++17 compiler flags enabled
# Wrap this in an escape hatch for unknown compilers
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17) # Supported values are 17, 20, and 23.
endif()
if(NOT CMAKE_CXX_STANDARD_REQUIRED)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
if(NOT CMAKE_CXX_EXTENSIONS)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
endif()
|