rapids_cpm_cccl
在 v24.02.00 版本中添加。
允许项目通过 CPM 查找或构建 CCCL,并内置跟踪这些依赖项,以实现正确的导出支持。
使用 版本文件中指定的 CCCL 版本,以保持所有 RAPIDS 项目的一致性。
当指定 BUILD_EXPORT_SET 时,生成的构建导出集依赖项文件将自动调用 thrust_create_target(CCCL::Thrust FROM_OPTIONS)。
当指定 INSTALL_EXPORT_SET 时,生成的安装导出集依赖项文件将自动调用 thrust_create_target(CCCL::Thrust FROM_OPTIONS)。
rapids_cpm_cccl( [BUILD_EXPORT_SET <export-name>]
[INSTALL_EXPORT_SET <export-name>]
[<CPM_ARGS> ...])
BUILD_EXPORT_SET
记录在构建目录导出集中需要一个针对 CCCL 的
CPMFindPackage()
调用。INSTALL_EXPORT_SET
记录在安装目录导出集中需要一个针对 CCCL 的
find_dependency()
调用。
注意
如果提供了 INSTALL_EXPORT_SET,并且通过 CPM 使用 add_subdirectory
将 CCCL 添加到项目中,则会进行 CCCL 的安装。
CPM_ARGS
在 CPM_ARGS 之后的任何参数都将转发到底层 CCCL
CPMFindPackage`()
调用。
结果目标
将创建 CCCL::CCCL 目标 将创建 CCCL::Thrust 目标 将创建 CCCL::libcudacxx 目标 将创建 CCCL::CUB 目标 将创建 libcudacxx::libcudacxx 目标
结果变量
CCCL_SOURCE_DIR
设置为 CCCL 源目录的路径。CCCL_BINARY_DIR
设置为 CCCL 构建目录的路径。CCCL_ADDED
如果 CCCL 之前未添加过,则设置为 true。CCCL_VERSION
设置为 versions.json 指定的 CCCL 版本。