CheckLibraryExists

检查系统或指定的库中函数是否存在一次。

CHECK_LIBRARY_EXISTS
CHECK_LIBRARY_EXISTS(LIBRARY FUNCTION LOCATION VARIABLE)
LIBRARY  - the name of the library you are looking for
FUNCTION - the name of the function
LOCATION - location where the library should be found
VARIABLE - internal cache variable to store the result

如果您希望更稳健地检测库中某个函数的可用性,建议使用 CheckSymbolExistsCheckSourceCompiles 来代替此模块。

在调用此宏之前设置以下变量,可以修改检查运行方式

CMAKE_REQUIRED_FLAGS

传递给编译器的其他标志的字符串。该字符串必须用空格分隔——;-list 将无法使用。在 CMAKE_REQUIRED_FLAGS 的内容之前,CMAKE_<LANG>_FLAGS 及其关联的配置特定变量的内容将自动添加到编译器命令中。

CMAKE_REQUIRED_DEFINITIONS

;-list 的形式为 -DFOO-DFOO=bar 的编译器定义。由 <resultVar> 指定的名称的定义也将自动添加。

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 版本中添加。

如果此变量计算为布尔 true 值,将抑制所有与检查相关的状态消息。