FindDevIL

查找 Developer's Image Library,即 DevIL

find_package(DevIL [<version>] [...])

在 4.2 版本加入: 支持 find_package() 调用中的 <version> 参数。版本也可以指定为范围。

DevIL 包内部由以下库组成,所有库都作为同一发行版的一部分发布:

  • 核心图像库 (IL)

    在使用 DevIL 时,始终需要此库,因为它提供了主要的图像加载和操作功能。

  • 图像库工具 (ILU)

    此库依赖于 IL,并提供图像滤镜和效果。如果应用程序使用此扩展功能,才需要它。

  • 图像库工具包 (ILUT)

    此库依赖于 IL 和 ILU,并额外提供与 OpenGL 的接口。如果应用程序将 DevIL 与 OpenGL 一起使用,才需要它。

导入的目标

此模块提供以下 导入目标

DevIL::IL

3.21 版本新增。

封装核心图像库 (IL) 使用要求的 Target,如果找到 DevIL 包则可用。

DevIL::ILU

3.21 版本新增。

封装图像库工具 (ILU) 使用要求的 Target,如果找到 DevIL 包则可用。为了方便起见,此 Target 也链接到 DevIL::IL,因为 ILU 依赖于核心 IL 库。

DevIL::ILUT

3.21 版本新增。

封装图像库工具包 (ILUT) 使用要求的 Target,如果找到 DevIL 包及其 ILUT 库则可用。此 Target 也链接到 DevIL::ILU,并间接链接到 DevIL::IL,因为 ILUT 依赖于两者。

结果变量

此模块定义了以下变量

DevIL_FOUND

版本 3.8 新增。

布尔值,指示是否找到(请求版本的)DevIL 包,包括 IL 和 ILU 库。

DevIL_VERSION

版本 4.2 中添加。

找到的 DevIL 的版本。

DevIL_ILUT_FOUND

3.21 版本新增。

布尔值,指示是否找到 ILUT 库。在大多数系统中,当 IL 和 ILU 都可用时,ILUT 也会被找到。

缓存变量

以下缓存变量也可以设置

IL_INCLUDE_DIR

包含 il.hilu.hilut.h 头文件的目录。

IL_LIBRARIES

核心图像库 (IL) 的完整路径。

ILU_LIBRARIES

ILU 库的完整路径。

ILUT_LIBRARIES

ILUT 库的完整路径。

示例

查找 DevIL 包并链接到核心图像库 (IL)

find_package(DevIL)
target_link_libraries(app PRIVATE DevIL::IL)

链接到图像库工具 (ILU)

find_package(DevIL)
target_link_libraries(app PRIVATE DevIL::ILU)

链接到图像库工具包 (ILUT)

find_package(DevIL)
target_link_libraries(app PRIVATE DevIL::ILUT)