FindLibXslt

查找 XSL 转换、可扩展样式表语言转换 (XSLT) 库 (libxslt)

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

导入的目标

在 3.18 版本中新增。

此模块提供以下 导入目标

LibXslt::LibXslt

封装 libxslt 库使用需求的 Target。此 Target 仅在找到 libxslt 时可用。

LibXslt::LibExslt

封装 libexslt 库使用需求的 Target。libexslt 是 libxslt 包的一部分,在 libxslt 之上提供了 XSLT 的可选扩展。此 Target 仅在找到主要的 libxslt 库时可用。

LibXslt::xsltproc

封装命令行 XSLT 处理器 (xsltproc) 的 Target。此工具是 libxslt 包的一部分,它将 XSLT 样式表应用于 XML 文档,作为 libxslt 库的命令行替代方案。此 Target 仅在找到 xsltproc 可执行文件时可用。

结果变量

此模块定义了以下变量

LibXslt_FOUND

3.3 版本中新增。

布尔值,指示是否找到了 libxslt(请求的版本)。

LibXslt_VERSION

版本 4.2 中添加。

找到的 libxslt 版本。

LIBXSLT_LIBRARIES

链接到 libxslt 所需的库。

LIBXSLT_DEFINITIONS

使用 libxslt 所需的编译器开关。

LIBXSLT_EXSLT_LIBRARIES

链接 exslt 库时所需的库。这些仅在使用 exslt 库时可用且必需。

缓存变量

以下缓存变量也可以设置

LIBXSLT_INCLUDE_DIR

包含 libxslt/xslt.h 和其他 libxslt 头文件的目录。

LIBXSLT_EXSLT_INCLUDE_DIR

在 3.18 版本中新增。

包含 libexslt/exslt.h 和其他与 exslt 相关的头文件的目录。这些仅在使用 exslt(XSLT 的扩展)时需要。

LIBXSLT_XSLTPROC_EXECUTABLE

如果找到,则为 XSLT 处理器可执行文件 xsltproc 的完整路径。此路径是可选的。

已弃用变量

以下变量提供用于向后兼容性

LIBXSLT_FOUND

版本 4.2 起已弃用: 请使用 LibXslt_FOUND,其值相同。

布尔值,指示是否找到了 libxslt(请求的版本)。

LIBXSLT_VERSION_STRING

版本 4.2 起已弃用: 已被 LibXslt_VERSION 取代。

找到的 libxslt 版本。

示例

查找 libxslt 库并将其链接到项目 Target

find_package(LibXslt)
target_link_libraries(foo PRIVATE LibXslt::LibXslt)

当项目还需要 XSLT 扩展(exslt)库时,应链接这两个 Target

find_package(LibXslt)
target_link_libraries(foo PRIVATE LibXslt::LibXslt LibXslt::LibExslt)

示例:如何在自定义命令构建规则中使用 XSLT 处理器

find_package(LibXslt)

if(TARGET LibXslt::xsltproc)
  # Executed when some build rule depends on example.html.
  add_custom_command(
    OUTPUT example.html
    COMMAND LibXslt::xsltproc -o example.html transform.xslt example.xml
  )
endif()