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