FindRuby¶
查找 Ruby
此模块查找是否安装了 Ruby 并确定头文件和库的位置。支持 Ruby 1.8 至 3.3。
可以使用标准语法指定 Ruby 所需的最低版本,例如
find_package(Ruby 2.5.1 EXACT REQUIRED)
# OR
find_package(Ruby 2.4)
它还将确定库的名称。
通过传递参数 Ruby_FIND_VIRTUALENV
还能够处理诸如 RVM 等虚拟环境
结果变量¶
此模块将在您的项目中设置以下变量
Ruby_FOUND
如果成功找到 Ruby,则设置为 true
Ruby_EXECUTABLE
Ruby 二进制文件的完整路径
Ruby_INCLUDE_DIRS
在使用 Ruby 库时要使用的包含目录
Ruby_LIBRARIES
在版本 3.18 中添加: 从 C 使用 Ruby 所需的库。
Ruby_VERSION
已找到的 Ruby 版本,例如“1.8.7”
Ruby_VERSION_MAJOR
Ruby 主版本。
Ruby_VERSION_MINOR
Ruby 次要版本。
Ruby_VERSION_PATCH
Ruby 修补版本。
在版本 3.18 中更改: 以前版本的 CMake 使用所有变量的 RUBY_
前缀。出于兼容性原因提供以下变量,请不要在新代码中使用它们
RUBY_EXECUTABLE
与 Ruby_EXECUTABLE 相同。
RUBY_INCLUDE_DIRS
与 Ruby_INCLUDE_DIRS 相同。
RUBY_INCLUDE_PATH
与 Ruby_INCLUDE_DIRS 相同。
RUBY_LIBRARY
与 Ruby_LIBRARY 相同。
RUBY_VERSION
与 Ruby_VERSION 相同。
RUBY_FOUND
与 Ruby_FOUND 相同。
提示¶
在版本 3.18 中添加。
Ruby_FIND_VIRTUALENV
此变量定义由
rvm
管理的虚拟环境的处理方式。仅当虚拟环境处于活动状态时才有意义(即,已评估rvm
脚本或至少设置了MY_RUBY_HOME
环境变量)。Ruby_FIND_VIRTUALENV
变量可以设置为空或以下值之一FIRST
:虚拟环境用于在其他任何标准路径之前查找解释器。这是默认值。ONLY
:仅使用虚拟环境查找解释器。STANDARD
:不使用虚拟环境查找解释器(假设它不在 PATH 中...)