CheckPrototypeDefinition

檢查我們預期的原型是否正確。

check_prototype_definition
check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
FUNCTION - The name of the function (used to check if prototype exists)
PROTOTYPE- The prototype to check.
RETURN - The return value of the function.
HEADER - The header files required.
VARIABLE - The variable to store the result.
           Will be created as an internal cache variable.

範例

check_prototype_definition(getpwent_r
 "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
 "NULL"
 "unistd.h;pwd.h"
 SOLARIS_GETPWENT_R)

在呼叫此函式之前,可以設定以下變數來修改檢查的執行方式

CMAKE_REQUIRED_FLAGS

要傳遞給編譯器的額外旗標字串。字串必須以空格分隔 -- ;-list 無法運作。CMAKE_<LANG>_FLAGS 的內容及其相關的組態特定變數會自動新增至編譯器指令中,然後才會新增 CMAKE_REQUIRED_FLAGS 的內容。

CMAKE_REQUIRED_DEFINITIONS

一個 ;-list 格式的編譯器定義,形式為 -DFOO-DFOO=bar。也會自動新增一個以 <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 中新增。

如果這個變數的值為布林值 true,則會抑制與檢查相關的所有狀態訊息。