FindSWIG¶
查找 Simplified Wrapper and Interface Generator (SWIG) 可执行文件。
此模块查找已安装的 SWIG 并确定其版本。
3.18 版本新增: 如果向 find_package() 命令提供了 COMPONENTS 或 OPTIONAL_COMPONENTS 参数,它还将确定支持的目标语言。
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 的受支持目标语言的名称,这些名称会传递给 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()
