FindSWIG

尋找 Simplified Wrapper and Interface Generator (SWIG) 執行檔。

此模組尋找已安裝的 SWIG 並判斷其版本。

版本 3.18 新增: 如果給予 COMPONENTSOPTIONAL_COMPONENTS 參數給 find_package() 命令,它也會判斷支援的目標語言。

版本 3.19 新增: 當請求版本時,它可以指定為簡單值或範圍。 有關版本範圍用法和功能的詳細描述,請參閱 find_package() 命令。

此模組定義以下變數

SWIG_FOUND

系統上是否找到 SWIG 和任何必需的組件。

SWIG_EXECUTABLE

SWIG 執行檔的路徑。

SWIG_DIR

已安裝 SWIG Lib 目錄的路徑 ( swig -swiglib 的結果)。

SWIG_VERSION

SWIG 執行檔版本 ( swig -version 的結果)。

SWIG_<lang>_FOUND

如果請求 COMPONENTSOPTIONAL_COMPONENTS,每個可用的目標語言 <lang> (小寫) 將設定為 TRUE。

給予 find_package 的任何 COMPONENTS 應該是提供給 swig_add_library 的 LANGUAGE 參數的支援目標語言名稱,例如 pythonperl5。 語言名稱必須為小寫。

所有資訊都從 SWIG_EXECUTABLE 收集,因此要找到的版本可以通過設定 SWIG_EXECUTABLE 從命令列更改。

需要 SWIG 4.0 或更高版本和 Python 語言支援,以及可選的 Fortran 支援的範例用法

find_package(SWIG 4.0 COMPONENTS python OPTIONAL_COMPONENTS fortran)
if(SWIG_FOUND)
  message("SWIG found: ${SWIG_EXECUTABLE}")
  if(NOT SWIG_fortran_FOUND)
    message(WARNING "SWIG Fortran bindings cannot be generated")
  endif()
endif()