mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
CompileFeatures: Record when CXX compilers have gained full support for 98
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++98 feature support when the
running compiler is known to have all features.
This commit is contained in:
committed by
Brad King
parent
876680e94b
commit
239a8a0266
@@ -8,6 +8,7 @@ endif()
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
|
||||
|
||||
@@ -19,6 +19,7 @@ if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2.1)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
|
||||
@@ -59,6 +60,7 @@ elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.9
|
||||
# support for -std: flags.
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std:c++14")
|
||||
|
||||
@@ -19,6 +19,7 @@ endif()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
|
||||
# 4.3 supports 0x variants
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
|
||||
|
||||
@@ -30,6 +30,7 @@ if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
endif()
|
||||
|
||||
else()
|
||||
@@ -64,6 +65,7 @@ else()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1)
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
@@ -11,6 +11,7 @@ if ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0.24215.1 AND
|
||||
# with the default and minimum level being C++14.
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "")
|
||||
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std:c++14")
|
||||
|
||||
@@ -48,6 +48,7 @@ set(CMAKE_CXX_CREATE_STATIC_LIBRARY
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++03")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=c++03")
|
||||
set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
|
||||
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
|
||||
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11")
|
||||
set(CMAKE_CXX_LINK_WITH_STANDARD_COMPILE_OPTION 1)
|
||||
|
||||
Reference in New Issue
Block a user