CheckIncludeFile

提供一個巨集來檢查是否可以在 C 中包含標頭檔。

check_include_file
check_include_file(<include> <variable> [<flags>])

檢查給定的 <include> 檔案是否可以包含在 C 原始碼檔案中,並將結果儲存在名為 <variable> 的內部快取條目中。 可選的第三個參數可用於將編譯旗標添加到檢查中(或使用下面的 CMAKE_REQUIRED_FLAGS )。

以下變數可以在調用此巨集之前設定,以修改檢查的執行方式

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,則將會抑制與檢查相關的所有狀態訊息。

請參閱 CheckIncludeFiles 模組以一次檢查多個標頭。 請參閱 CheckIncludeFileCXX 模組以使用 CXX 語言檢查標頭。