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_<LANG>_FLAGS 的內容及其相關的特定組態變數會自動加入到編譯器命令中,然後才是 CMAKE_REQUIRED_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,則與檢查相關的所有狀態訊息將被抑制。