FindRuby¶
查找 Ruby 安装及其头文件和库的位置
find_package(Ruby [<version>] [...])
Ruby 是一种通用编程语言。此模块支持 Ruby 1.8 到 3.4。也支持 RVM 或 RBENV 等虚拟环境。
结果变量¶
此模块定义了以下变量
Ruby_FOUND3.3 版本中新增。
一个布尔值,指示是否找到了 (所请求版本的) ruby。
Ruby_VERSION找到的 ruby 版本,例如
3.2.6。Ruby_VERSION_MAJORRuby 主版本号。
Ruby_VERSION_MINORRuby 次版本号。
Ruby_VERSION_PATCHRuby 修订版本号。
Ruby_EXECUTABLEruby 二进制文件的完整路径。
Ruby_INCLUDE_DIRS在使用 ruby 库时要使用的包含目录。
Ruby_LIBRARIES在 3.18 版本中新增。
从 C 使用 ruby 所需的库。
版本 3.18 中已更改: 之前的 CMake 版本对所有变量都使用 RUBY_ 前缀。
提示¶
此模块接受以下变量
Ruby_FIND_VIRTUALENV在 3.18 版本中新增。
此变量定义了虚拟环境的处理方式。它可以为空,或设置为以下值之一:
FIRST:首先搜索虚拟 Ruby 环境,然后是系统 Ruby 安装。这是默认值。
ONLY:只搜索虚拟环境STANDARD:只搜索系统 Ruby 安装。
虚拟环境可能由以下方式提供:
rvm要求定义了
MY_RUBY_HOME环境变量。rbenv要求
rbenv安装在~/.rbenv/bin中,或者定义了RBENV_ROOT环境变量。
已弃用变量¶
以下变量提供用于向后兼容性
版本 4.0 已弃用: 以下变量已被弃用。请参阅策略 CMP0185。
RUBY_FOUND与
Ruby_FOUND相同。RUBY_VERSION与
Ruby_VERSION相同。RUBY_EXECUTABLE与
Ruby_EXECUTABLE相同。RUBY_INCLUDE_DIRS与
Ruby_INCLUDE_DIRS相同。RUBY_INCLUDE_PATH与
Ruby_INCLUDE_DIRS相同。RUBY_LIBRARY与
Ruby_LIBRARY相同。
示例¶
查找 Ruby 并指定所需的最低版本
find_package(Ruby 3.2.6 EXACT REQUIRED)
# or
find_package(Ruby 3.2)