mirror of
https://github.com/reactos/CMake.git
synced 2025-02-22 13:01:01 +00:00
SunPro: Record support for C++14 features by SunPro 5.{14,15}
SunPro 5.15 supports `-std=c++14` and several C++14 features. SunPro 5.14 accepts `-std=c++14` but does not update its definition of `__cplusplus` or any other macro to distinguish it from `-std=c++11`, so we need to blacklist a couple features that do work but that we cannot report for that version. We can still support `cxx_std_14`. Co-Author: Robert Maynard <robert.maynard@kitware.com>
This commit is contained in:
parent
bf64e50da4
commit
66f3f11af5
@ -6,6 +6,14 @@
|
||||
|
||||
set(_cmake_oldestSupported "__SUNPRO_CC >= 0x5130")
|
||||
|
||||
set(SolarisStudio126_CXX14 "(__SUNPRO_CC >= 0x5150) && __cplusplus >= 201402L")
|
||||
set(_cmake_feature_test_cxx_aggregate_default_initializers "${SolarisStudio126_CXX14}")
|
||||
set(_cmake_feature_test_cxx_digit_separators "${SolarisStudio126_CXX14}")
|
||||
set(_cmake_feature_test_cxx_generic_lambdas "${SolarisStudio126_CXX14}")
|
||||
set(_cmake_feature_test_cxx_lambda_init_captures "${SolarisStudio126_CXX14}")
|
||||
set(_cmake_feature_test_cxx_return_type_deduction "${SolarisStudio126_CXX14}")
|
||||
set(_cmake_feature_test_cxx_variable_templates "${SolarisStudio126_CXX14}")
|
||||
|
||||
set(SolarisStudio126_CXX11 "(__SUNPRO_CC >= 0x5150) && __cplusplus >= 201103L")
|
||||
set(_cmake_feature_test_cxx_decltype_auto "${SolarisStudio126_CXX11}")
|
||||
|
||||
|
@ -52,6 +52,11 @@ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
|
||||
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)
|
||||
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.14)
|
||||
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
|
||||
set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++14")
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-library=stlport4")
|
||||
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-library=stlport4")
|
||||
|
@ -52,6 +52,16 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.15)
|
||||
# SunPro 5.14 accepts -std=c++14 and compiles two features but does
|
||||
# not define __cplusplus to a value different than with -std=c++11.
|
||||
list(REMOVE_ITEM CXX_non_features
|
||||
cxx_aggregate_default_initializers
|
||||
cxx_digit_separators
|
||||
)
|
||||
endif()
|
||||
|
||||
# FIXME: Do any of these work correctly on SunPro 5.13 or above?
|
||||
list(REMOVE_ITEM CXX_non_features
|
||||
cxx_attribute_deprecated
|
||||
cxx_contextual_conversions
|
||||
|
Loading…
x
Reference in New Issue
Block a user