FindIce

版本 3.1 新增。

尋找 ZeroC Internet Communication Engine (ICE) 程式、函式庫和資料檔案。

此模組支援多個組件。組件可以包含以下任何一項:FreezeGlacier2IceIceBoxIceDBIceDiscoveryIceGridIceLocatorDiscoveryIcePatchIceSSLIceStormIceUtilIceXMLSlice

Ice 3.7 及更高版本也包含 C++11 特定的組件:Glacier2++11Ice++11IceBox++11IceDiscovery++11 IceGridIceLocatorDiscovery++11IceSSL++11IceStorm++11

請注意,支援的組件集是 Ice 版本特定的。

版本 3.4 新增:匯入組件和大多數 EXECUTABLE 變數的目標。

版本 3.7 新增:偵錯和發行變體會分別尋找。

版本 3.10 新增:Ice 3.7 支援,包含新的組件、程式和 Nuget 套件。

此模組會在幾個變數中報告關於 Ice 安裝的資訊。通用變數

Ice_VERSION - Ice release version
Ice_FOUND - true if the main programs and libraries were found
Ice_LIBRARIES - component libraries to be linked
Ice_INCLUDE_DIRS - the directories containing the Ice headers
Ice_SLICE_DIRS - the directories containing the Ice slice interface
                 definitions

匯入的目標

Ice::<C>

其中 <C> 是 Ice 組件的名稱,例如 Ice::Glacier2Ice++11

Ice slice 程式會在以下位置報告

Ice_SLICE2CONFLUENCE_EXECUTABLE - path to slice2confluence executable
Ice_SLICE2CPP_EXECUTABLE - path to slice2cpp executable
Ice_SLICE2CS_EXECUTABLE - path to slice2cs executable
Ice_SLICE2FREEZEJ_EXECUTABLE - path to slice2freezej executable
Ice_SLICE2FREEZE_EXECUTABLE - path to slice2freeze executable
Ice_SLICE2HTML_EXECUTABLE - path to slice2html executable
Ice_SLICE2JAVA_EXECUTABLE - path to slice2java executable
Ice_SLICE2JS_EXECUTABLE - path to slice2js executable
Ice_SLICE2MATLAB_EXECUTABLE - path to slice2matlab executable
Ice_SLICE2OBJC_EXECUTABLE - path to slice2objc executable
Ice_SLICE2PHP_EXECUTABLE - path to slice2php executable
Ice_SLICE2PY_EXECUTABLE - path to slice2py executable
Ice_SLICE2RB_EXECUTABLE - path to slice2rb executable

版本 3.14 新增:slice2confluenceslice2matlab 的變數。

Ice 程式會在以下位置報告

Ice_GLACIER2ROUTER_EXECUTABLE - path to glacier2router executable
Ice_ICEBOX_EXECUTABLE - path to icebox executable
Ice_ICEBOXXX11_EXECUTABLE - path to icebox++11 executable
Ice_ICEBOXADMIN_EXECUTABLE - path to iceboxadmin executable
Ice_ICEBOXD_EXECUTABLE - path to iceboxd executable
Ice_ICEBOXNET_EXECUTABLE - path to iceboxnet executable
Ice_ICEBRIDGE_EXECUTABLE - path to icebridge executable
Ice_ICEGRIDADMIN_EXECUTABLE - path to icegridadmin executable
Ice_ICEGRIDDB_EXECUTABLE - path to icegriddb executable
Ice_ICEGRIDNODE_EXECUTABLE - path to icegridnode executable
Ice_ICEGRIDNODED_EXECUTABLE - path to icegridnoded executable
Ice_ICEGRIDREGISTRY_EXECUTABLE - path to icegridregistry executable
Ice_ICEGRIDREGISTRYD_EXECUTABLE - path to icegridregistryd executable
Ice_ICEPATCH2CALC_EXECUTABLE - path to icepatch2calc executable
Ice_ICEPATCH2CLIENT_EXECUTABLE - path to icepatch2client executable
Ice_ICEPATCH2SERVER_EXECUTABLE - path to icepatch2server executable
Ice_ICESERVICEINSTALL_EXECUTABLE - path to iceserviceinstall executable
Ice_ICESTORMADMIN_EXECUTABLE - path to icestormadmin executable
Ice_ICESTORMDB_EXECUTABLE - path to icestormdb executable
Ice_ICESTORMMIGRATE_EXECUTABLE - path to icestormmigrate executable

Ice db 程式(僅限 Windows;所有其他平台上為標準系統版本)會在以下位置報告

Ice_DB_ARCHIVE_EXECUTABLE - path to db_archive executable
Ice_DB_CHECKPOINT_EXECUTABLE - path to db_checkpoint executable
Ice_DB_DEADLOCK_EXECUTABLE - path to db_deadlock executable
Ice_DB_DUMP_EXECUTABLE - path to db_dump executable
Ice_DB_HOTBACKUP_EXECUTABLE - path to db_hotbackup executable
Ice_DB_LOAD_EXECUTABLE - path to db_load executable
Ice_DB_LOG_VERIFY_EXECUTABLE - path to db_log_verify executable
Ice_DB_PRINTLOG_EXECUTABLE - path to db_printlog executable
Ice_DB_RECOVER_EXECUTABLE - path to db_recover executable
Ice_DB_STAT_EXECUTABLE - path to db_stat executable
Ice_DB_TUNER_EXECUTABLE - path to db_tuner executable
Ice_DB_UPGRADE_EXECUTABLE - path to db_upgrade executable
Ice_DB_VERIFY_EXECUTABLE - path to db_verify executable
Ice_DUMPDB_EXECUTABLE - path to dumpdb executable
Ice_TRANSFORMDB_EXECUTABLE - path to transformdb executable

Ice 組件函式庫會在以下位置報告

Ice_<C>_FOUND - ON if component was found
Ice_<C>_LIBRARIES - libraries for component

請注意,<C> 是組件的大寫名稱。

此模組從以下位置讀取關於搜尋結果的提示

Ice_HOME - the root of the Ice installation

環境變數 ICE_HOME 也可能被使用;Ice_HOME 變數優先。

注意

在 Windows 上,Ice 3.7.0 及更高版本透過 NuGet 套件管理器提供函式庫。將會使用 CMAKE_PREFIX_PATH 搜尋適當的 NuGet 套件,或者可以將 Ice_HOME 設定為特定 NuGet 套件的位置以限制搜尋。

以下快取變數也可能會被設定

Ice_<P>_EXECUTABLE - the path to executable <P>
Ice_INCLUDE_DIR - the directory containing the Ice headers
Ice_SLICE_DIR - the directory containing the Ice slice interface
                definitions
Ice_<C>_LIBRARY - the library for component <C>

注意

在大多數情況下,除非有多個 Ice 版本可用且需要特定版本,否則以上變數都不需要設定。在 Windows 上,將會透過登錄檔找到最新版本的 Ice。在 Unix 上,程式、標頭和函式庫通常會在標準位置,但 Ice_SLICE_DIRS 可能不會自動偵測到(會搜尋常見的已知位置)。如果設定了 Ice_HOME,則所有其他變數都會預設使用 Ice_HOME。可以設定 Ice_HOME 並選擇性地為其他組件指定替代位置;例如,如果啟發式方法不足以識別特定 Visual Studio 版本的正確程式和函式庫,則可能需要這樣做,以用於較新版本的 Visual Studio。

可能會設定以控制此模組的其他變數為

Ice_DEBUG - Set to ON to enable debug output from FindIce.