FindRuby¶
尋找 Ruby
這個模組會尋找是否已安裝 Ruby,並確定標頭檔和函式庫的位置。支援 Ruby 1.8 到 3.3 版本。
可以使用標準語法指定 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 主版本號。
Ruby_VERSION_MINOR
Ruby 次版本號。
Ruby_VERSION_PATCH
Ruby 修補版本號。
版本 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
:不使用虛擬環境來尋找直譯器(假設它仍然不在 PATH 中...)。