CMAKE_CXX_KNOWN_FEATURESΒΆ
List of C++ features known to this version of CMake.
The features listed in this global property may be known to be available to the
C++ compiler. If the feature is available with the C++ compiler, it will
be listed in the CMAKE_CXX_COMPILE_FEATURES
variable.
The features listed here may be used with the target_compile_features()
command. See the cmake-compile-features(7)
manual for information on
compile features and a list of supported compilers.
The features known to this version of CMake are:
cxx_std_98
Compiler mode is at least C++ 98.
cxx_std_11
Compiler mode is at least C++ 11.
cxx_std_14
Compiler mode is at least C++ 14.
cxx_std_17
Compiler mode is at least C++ 17.
cxx_std_20
Compiler mode is at least C++ 20.
cxx_aggregate_default_initializers
Aggregate default initializers, as defined in N3605.
cxx_alias_templates
Template aliases, as defined in N2258.
cxx_alignas
Alignment control
alignas
, as defined in N2341.cxx_alignof
Alignment control
alignof
, as defined in N2341.cxx_attributes
Generic attributes, as defined in N2761.
cxx_attribute_deprecated
[[deprecated]]
attribute, as defined in N3760.cxx_auto_type
Automatic type deduction, as defined in N1984.
cxx_binary_literals
Binary literals, as defined in N3472.
cxx_constexpr
Constant expressions, as defined in N2235.
cxx_contextual_conversions
Contextual conversions, as defined in N3323.
cxx_decltype_incomplete_return_types
Decltype on incomplete return types, as defined in N3276.
cxx_decltype
Decltype, as defined in N2343.
cxx_decltype_auto
decltype(auto)
semantics, as defined in N3638.cxx_default_function_template_args
Default template arguments for function templates, as defined in DR226
cxx_defaulted_functions
Defaulted functions, as defined in N2346.
cxx_defaulted_move_initializers
Defaulted move initializers, as defined in N3053.
cxx_delegating_constructors
Delegating constructors, as defined in N1986.
cxx_deleted_functions
Deleted functions, as defined in N2346.
cxx_digit_separators
Digit separators, as defined in N3781.
cxx_enum_forward_declarations
Enum forward declarations, as defined in N2764.
cxx_explicit_conversions
Explicit conversion operators, as defined in N2437.
cxx_extended_friend_declarations
Extended friend declarations, as defined in N1791.
cxx_extern_templates
Extern templates, as defined in N1987.
cxx_final
Override control
final
keyword, as defined in N2928, N3206 and N3272.cxx_func_identifier
Predefined
__func__
identifier, as defined in N2340.cxx_generalized_initializers
Initializer lists, as defined in N2672.
cxx_generic_lambdas
Generic lambdas, as defined in N3649.
cxx_inheriting_constructors
Inheriting constructors, as defined in N2540.
cxx_inline_namespaces
Inline namespaces, as defined in N2535.
cxx_lambdas
Lambda functions, as defined in N2927.
cxx_lambda_init_captures
Initialized lambda captures, as defined in N3648.
cxx_local_type_template_args
Local and unnamed types as template arguments, as defined in N2657.
cxx_long_long_type
long long
type, as defined in N1811.cxx_noexcept
Exception specifications, as defined in N3050.
cxx_nonstatic_member_init
Non-static data member initialization, as defined in N2756.
cxx_nullptr
Null pointer, as defined in N2431.
cxx_override
Override control
override
keyword, as defined in N2928, N3206 and N3272.cxx_range_for
Range-based for, as defined in N2930.
cxx_raw_string_literals
Raw string literals, as defined in N2442.
cxx_reference_qualified_functions
Reference qualified functions, as defined in N2439.
cxx_relaxed_constexpr
Relaxed constexpr, as defined in N3652.
cxx_return_type_deduction
Return type deduction on normal functions, as defined in N3386.
cxx_right_angle_brackets
Right angle bracket parsing, as defined in N1757.
cxx_rvalue_references
R-value references, as defined in N2118.
cxx_sizeof_member
Size of non-static data members, as defined in N2253.
cxx_static_assert
Static assert, as defined in N1720.
cxx_strong_enums
Strongly typed enums, as defined in N2347.
cxx_thread_local
Thread-local variables, as defined in N2659.
cxx_trailing_return_types
Automatic function return type, as defined in N2541.
cxx_unicode_literals
Unicode string literals, as defined in N2442.
cxx_uniform_initialization
Uniform initialization, as defined in N2640.
cxx_unrestricted_unions
Unrestricted unions, as defined in N2544.
cxx_user_literals
User-defined literals, as defined in N2765.
cxx_variable_templates
Variable templates, as defined in N3651.
cxx_variadic_macros
Variadic macros, as defined in N1653.
cxx_variadic_templates
Variadic templates, as defined in N2242.
cxx_template_template_parameters
Template template parameters, as defined in
ISO/IEC 14882:1998
.