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