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
finalkeyword, 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 longtype, 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
overridekeyword, 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.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html