CheckOBJCXXCompilerFlag¶
在 3.16 版本中添加。
检查 Objective-C++ 编译器是否支持给定的标志。
- check_objcxx_compiler_flag¶
check_objcxx_compiler_flag(<flag> <resultVar>)
检查一次 <flag>
是否被编译器接受,且没有诊断。结果储存在 <resultVar>
指定的内部缓存变量,对于成功值为布尔值 true
,对于失败值为布尔值 false
。
true
仅表示当给编译器提供该标志时未返回诊断消息。该标志是否有效超出本模块的范围。
在内部,try_compile()
用于进行检查。如果将 CMAKE_TRY_COMPILE_TARGET_TYPE
设置为 EXECUTABLE
(默认),则该检查会编译并链接一个可执行程序。如果设置为 STATIC_LIBRARY
,会编译该程序,但不会链接。
另请参阅 check_compiler_flag()
,了解更通用的命令语法。
在调用 check_objcxx_compiler_flag()
之前,可以通过设置以下任意变量来影响编译和链接命令。在这些变量中未知的标志可能会导致错误的否定结果。
CMAKE_REQUIRED_FLAGS
传递给编译器的其他标志。该字符串必须以空格为分隔符——;-list 无法使用。在
CMAKE_REQUIRED_FLAGS
内容之前,自动在编译器命令中添加CMAKE_<LANG>_FLAGS
及其关联的特定配置变量的内容。
CMAKE_REQUIRED_DEFINITIONS
形式为
-DFOO
或-DFOO=bar
的编译器定义的 ;-list。还会自动添加<resultVar>
指定的名称的定义。
CMAKE_REQUIRED_INCLUDES
传递给编译器的头文件搜索路径的 ;-list。这将是唯一使用的头文件搜索路径----目标
INCLUDE_DIRECTORIES
目录属性的内容将被忽略。
CMAKE_REQUIRED_LINK_OPTIONS
3.14 版中新增。
添加至链接命令(有关进一步细节,请参阅
try_compile()
)的一系列选项的 ;-list。
CMAKE_REQUIRED_LIBRARIES
添加至链接命令的一系列库的 ;-list。这些可能是系统库的名称,或者它们可能是 导入目标 (有关进一步细节,请参阅
try_compile()
)。
CMAKE_REQUIRED_LINK_DIRECTORIES
3.31 版中新增。
传递给链接器的库搜索路径的 ;-list (有关进一步细节,请参阅
try_compile()
)。
CMAKE_REQUIRED_QUIET
3.1 版中新增。
如果此变量计算为布尔真值,将禁止与检查关联的所有状态消息。