FindSWIG¶
查找简化包装器和接口生成器 (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_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()