rapids_cpm_nvcomp

在 v22.06.00 版本中添加。

允许项目通过 CPM 查找或构建 nvComp,并内置这些依赖项的跟踪以支持正确的导出。

使用 版本文件中指定的 nvComp 版本,以确保所有 RAPIDS 项目之间的一致性。

rapids_cpm_nvcomp( [USE_PROPRIETARY_BINARY <ON|OFF>]
                   [BUILD_EXPORT_SET <export-name>]
                   [INSTALL_EXPORT_SET <export-name>]
                   [<CPM_ARGS> ...])
USE_PROPRIETARY_BINARY

启用此标志并使用本软件,即表示您完全同意 nvcomp 的 NVIDIA 软件许可协议条款。协议可在 https://developer.download.nvidia.com/compute/nvcomp/2.3/LICENSE.txt 查看

NVComp 提供了预构建的专有版本库(仅适用于 x86_64),与开源版本相比提供更多功能。由于 NVComp 目前不提供所有平台的预构建版本,调用者应在调用 rapids_cpm_nvcomp() 后检查 nvcomp_proprietary_binary 变量,以验证是否已满足专有二进制文件的请求。

注意

如果 nvcomp 包存在覆盖项,则此标志必须包含 proprietary_binary 项才能生效。任何不包含此项的覆盖项将被视为使现有的专有二进制项无效。

BUILD_EXPORT_SET

记录在我们的构建目录导出集中需要对 nvcomp 执行 CPMFindPackage()

INSTALL_EXPORT_SET

记录在我们的安装目录导出集中需要对 nvcomp 执行 find_dependency()

注意

如果在提供 INSTALL_EXPORT_SET 且通过 CPM 使用 add_subdirectory 将 nvcomp 添加到项目时,将执行 nvcomp 的安装。

CPM_ARGS

所有在 CPM_ARGS 之后的参数都将转发到底层的 nvcomp CPMFindPackage`() 调用。

结果目标

将创建 nvcomp::nvcomp 目标 将创建 nvcomp::nvcomp_cpu 目标 将创建 nvcomp::nvcomp_device_static 目标 可能会创建 nvcomp::nvcomp_static 目标 可能会创建 nvcomp::nvcomp_cpu_static 目标

结果变量

nvcomp_SOURCE_DIR 设置为 nvcomp 源码目录的路径。nvcomp_BINARY_DIR 设置为 nvcomp 构建目录的路径。nvcomp_ADDED 如果 nvcomp 之前未添加,则设置为 true。nvcomp_VERSION 设置为 versions.json 中指定的 nvcomp 版本。nvcomp_proprietary_binary 如果正在使用专有二进制文件,则设置为 ON