CheckLinkerFlag

在 3.18 版本中添加。

检查编译器是否支持给定的链接标志。

check_linker_flag
check_linker_flag(<lang> <flag> <var>)

检查 <flag> 链接是否被 <lang> 编译器所接受而不产生诊断信息。将结果存储在名为 <var> 的内部缓存条目中。

此命令会临时设置 CMAKE_REQUIRED_LINK_OPTIONS 变量,并从 CheckSourceCompiles 模块中调用 check_source_compiles() 命令。请参阅该模块的文档,了解可以修改编译的其他变量列表。

底层实现依赖于 LINK_OPTIONS 属性来检查指定标志。还可用 target_link_options() 命令中描述的 LINKER: 前缀。

此检查的阳性结果仅表明在给定链接标志时,编译器没有发出诊断消息。此标志是否有任何效果或甚至是特定的,已超出此模块的范围。

注意

由于 try_compile() 命令会转发诸如 CMAKE_<LANG>_FLAGS 这样的变量中的标志,这些变量中的未知标志可能会导致此检查出现假阴性结果。