寻找红宝石

寻找红宝石

该模块查找是否安装了 Ruby 并确定包含文件和库的位置。支持 Ruby 1.8 到 3.1。

可以使用标准语法指定所需的最低 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_VERSION_MINOR

红宝石次要版本。

Ruby_VERSION_PATCH

红宝石补丁版本。

在 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:虚拟环境不用于查找解释器(假设它不在路径中......)