HIP_STANDARD

3.21 版本新增。

用于构建此目标的 HIP/C++ 标准。

支持的值包括

98

HIP C++98

11

HIP C++11

14

HIP C++14

17

HIP C++17

20

HIP C++20

23

HIP C++23

26

在 3.25 版本中新增。

HIP C++26。CMake 3.25 及更高版本识别 26 为有效值,但目前没有编译器支持此版本。

如果请求的值未导致为使用的编译器添加编译标志,则会改为添加先前的标准标志。这意味着使用

set_property(TARGET tgt PROPERTY HIP_STANDARD 11)

使用不支持 -std=gnu++11 或等效标志的编译器将不会导致错误或警告,而是会添加 -std=gnu++98 标志(如果支持)。此“降级”行为可以通过 HIP_STANDARD_REQUIRED 目标属性进行控制。此外,HIP_EXTENSIONS 目标属性可用于控制是否在每个目标的基础上启用特定于编译器的扩展。

有关编译功能和支持的编译器列表,请参阅 cmake-compile-features(7) 手册。

当目标创建时,如果 CMAKE_HIP_STANDARD 变量已设置,此属性将由该变量的值初始化。