New in version 3.1.
Add expected compiler features to a target.
target_compile_features(<target> <PRIVATE|PUBLIC|INTERFACE> <feature> [...])
Specifies compiler features required when compiling a given target. If the
feature is not listed in the
variables, then an error will be reported by CMake. If the use of the feature requires
an additional compiler flag, such as
-std=gnu++11, the flag will be added
PRIVATE keywords are required to
specify the scope of the features.
PUBLIC items will
COMPILE_FEATURES property of
INTERFACE items will populate the
INTERFACE_COMPILE_FEATURES property of
Repeated calls for the same
<target> append items.
New in version 3.11: Allow setting
INTERFACE items on IMPORTED targets.
<target> must have been created by a command such as
add_library() and must not be an
for more on defining buildsystem properties.
target_compile_features may use generator expressions
with the syntax
$<...>. See the
manual for available expressions. See the
manual for information on compile features and a list of supported compilers.