FindSWIG

尋找簡化封裝和介面產生器(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()