寻找红宝石¶
寻找红宝石
该模块查找是否安装了 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_EXECUTABLEruby 二进制文件的完整路径
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:虚拟环境不用于查找解释器(假设它不在路径中......)