找到SWIG¶
找到 Simplified Wrapper and Interface Generator (SWIG) 可执行文件。
此模块查找已安装的 SWIG 并确定其版本。
在 3.18 版本加入: 如果将 COMPONENTS 或 OPTIONAL_COMPONENTS 参数提供给 find_package() 命令,它还将确定支持的目标语言。
在 3.19 版本加入: 请求版本时,可以将其指定为简单值或范围。有关版本范围用法和功能的详细说明,请参阅:command:find_package 命令。
该模块定义了以下变量:
SWIG_FOUND是否在系统上找到 SWIG 和任何必需的组件。
SWIG_EXECUTABLESWIG 可执行文件的路径。
SWIG_DIR安装的 SWIG
Lib目录的路径(swig -swiglib的结果)。SWIG_VERSIONSWIG 可执行版本(
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()