FindRuby

此模組會判斷 Ruby 是否已安裝,並尋找其 include 檔案和函式庫的位置。支援 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 函式庫時要使用的 include 目錄

Ruby_LIBRARIES

Added in version 3.18: 從 C 語言使用 ruby 所需的函式庫。

Ruby_VERSION

找到的 ruby 版本,例如 "3.2.6"

Ruby_VERSION_MAJOR

Ruby 主要版本。

Ruby_VERSION_MINOR

Ruby 次要版本。

Ruby_VERSION_PATCH

Ruby 修補版本。

Changed in version 3.18: 版本 3.18 變更:先前版本的 CMake 對所有變數使用 RUBY_ 前綴。

Deprecated since version 4.0: 自版本 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 環境變數。