FindIce¶
在 3.1 版本中添加。
查找 ZeroC Internet Communication Engine (ICE) 程序、库和数据文件。
此模块支持多个组件。组件可以包括以下任何一项:Freeze
、Glacier2
、Ice
、IceBox
、IceDB
、IceDiscovery
、IceGrid
、IceLocatorDiscovery
、IcePatch
、IceSSL
、IceStorm
、IceUtil
、IceXML
或 Slice
。
Ice 3.7 及更高版本还包括 C++11 特定的组件:Glacier2++11
、Ice++11
、IceBox++11
、IceDiscovery++11
IceGrid
、IceLocatorDiscovery++11
、IceSSL++11
、IceStorm++11
请注意,支持的组件集是 Ice 版本特定的。
在 3.4 版本中添加:组件和大多数 EXECUTABLE
变量的导入目标。
在 3.7 版本中添加:分别查找 Debug 和 Release 变体。
在 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::Glacier2
或 Ice++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 版本中添加:slice2confluence
和 slice2matlab
的变量。
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.