CheckIncludeFiles¶
提供一个宏来检查是否可将一列一个或多个头文件包含在一起。
- CHECK_INCLUDE_FILES¶
CHECK_INCLUDE_FILES("<includes>" <variable> [LANGUAGE <language>])
检查指定的
<includes>
列表是否可能包含在某个源文件中,并将其结果存储在名为<variable>
的内部高速缓存项中。将<includes>
参数指定为头文件名的 ;-list。如果设置了
LANGUAGE
,将使用指定的编译器执行检查。可接受的值为C
和CXX
。如果不进行设置,将在已启用时使用 C 编译器。如果未启用 C 编译器,将在已启用时使用 C++ 编译器。
在调用此宏之前,可以设置以下变量以修改检查的运行方式
CMAKE_REQUIRED_FLAGS
要传递给编译器的其他标志的字符串。该字符串必须以空格分隔——;-list 将不起作用。
CMAKE_<LANG>_FLAGS
及其关联的特定配置变量的内容将在CMAKE_REQUIRED_FLAGS
的内容前自动添加到编译器命令中。
CMAKE_REQUIRED_DEFINITIONS
形式为
-DFOO
或-DFOO=bar
的编译器定义的 ;-list。<resultVar>
指定的名称的一个定义也将自动添加。
CMAKE_REQUIRED_INCLUDES
要传递给编译器的头搜索路径的 ;-list。这些将是所用的唯一头搜索路径——
INCLUDE_DIRECTORIES
目录属性的内容将被忽略。
CMAKE_REQUIRED_LINK_OPTIONS
添加于 3.14 版本。
要添加到链接命令的一个选项;-list(有关更多详细信息,请参见
try_compile()
)。
CMAKE_REQUIRED_LIBRARIES
要添加到链接命令的库的;-list。它们可以是系统库的名称,也可以是导入目标(有关更多详细信息,请参见
try_compile()
)。
CMAKE_REQUIRED_LINK_DIRECTORIES
在版本 3.31 中添加。
要传递给链接器的一组库搜索路径;-list(有关更多详细信息,请参见
try_compile()
)。
CMAKE_REQUIRED_QUIET
在版本 3.1 中添加。
如果此变量评估为布尔真值,将抑制与检查关联的所有状态消息。
查看模块CheckIncludeFile
和CheckIncludeFileCXX
以检查单个头文件是否在C
或CXX
语言中。