FindIce

在 3.1 版本加入。

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

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

Ice 3.7 及更新版本還包含 C++11 特定的組件:Glacier2++11Ice++11IceBox++11IceDiscovery++11IceGridIceLocatorDiscovery++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.