FindRuby¶
此模块确定是否已安装 Ruby,并查找其头文件和库的位置。支持 Ruby 1.8 至 3.4 版本。
可以使用标准语法指定 Ruby 的最低必需版本,例如:
find_package(Ruby 3.2.6 EXACT REQUIRED)
# OR
find_package(Ruby 3.2)
支持虚拟环境,例如 RVM 或 RBENV。
结果变量¶
此模块将在您的项目中设置以下变量:
Ruby_FOUND
如果成功找到 Ruby,则设置为 true
Ruby_EXECUTABLE
Ruby 二进制文件的完整路径
Ruby_INCLUDE_DIRS
使用 Ruby 库时要使用的包含目录
Ruby_LIBRARIES
版本 3.18 新增:从 C 语言中使用 Ruby 所需的库。
Ruby_VERSION
找到的 Ruby 版本,例如 "3.2.6"
Ruby_VERSION_MAJOR
Ruby 主版本。
Ruby_VERSION_MINOR
Ruby 次版本。
Ruby_VERSION_PATCH
Ruby 补丁版本。
版本 3.18 变更:CMake 的早期版本对所有变量使用 RUBY_
前缀。
自版本 4.0 起已弃用:以下变量已弃用。请参阅策略 CMP0185
。
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
相同。
提示¶
Ruby_FIND_VIRTUALENV
版本 3.18 新增。
此变量定义了虚拟环境的处理方式。它可以留空,也可以设置为以下值之一
FIRST
:首先搜索虚拟 Ruby 环境,然后是系统 Ruby 安装。这是默认值。
ONLY
:仅搜索虚拟环境STANDARD
:仅搜索系统 Ruby 安装。
虚拟环境可以由以下提供:
rvm
需要定义
MY_RUBY_HOME
环境变量。rbenv
需要 rbenv 安装在
~/.rbenv/bin
中,或者定义RBENV_ROOT
环境变量。