FindSWIG¶
尋找 Simplified Wrapper and Interface Generator (SWIG) 執行檔。
此模組尋找已安裝的 SWIG 並判斷其版本。
版本 3.18 新增: 如果給予 COMPONENTS
或 OPTIONAL_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
如果請求
COMPONENTS
或OPTIONAL_COMPONENTS
,每個可用的目標語言<lang>
(小寫) 將設定為 TRUE。
給予 find_package
的任何 COMPONENTS
應該是提供給 swig_add_library
的 LANGUAGE 參數的支援目標語言名稱,例如 python
或 perl5
。 語言名稱必須為小寫。
所有資訊都從 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()