rapids_cpm_cccl
Added in version v24.02.00.
Allow projects to find or build CCCL via CPM with built-in tracking of these dependencies for correct export support.
Uses the version of CCCL specified in the version file for consistency across all RAPIDS projects.
When BUILD_EXPORT_SET is specified the generated build export set dependency file will automatically call thrust_create_target(CCCL::Thrust FROM_OPTIONS).
When INSTALL_EXPORT_SET is specified the generated install export set dependency file will automatically call 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
Record that a
CPMFindPackage()
for CCCL is required in our build directory export set.INSTALL_EXPORT_SET
Record that a
find_dependency()
for CCCL is required in our install directory export set.
Note
Installation of CCCL will occur if an INSTALL_EXPORT_SET is provided, and CCCL
is added to the project via add_subdirectory
by CPM.
CPM_ARGS
Any arguments after CPM_ARGS will be forwarded to the underlying CCCL
CPMFindPackage`()
call
Result Targets
CCCL::CCCL target will be created CCCL::Thrust target will be created CCCL::libcudacxx target will be created CCCL::CUB target will be created libcudacxx::libcudacxx target will be created
Result Variables
CCCL_SOURCE_DIR
is set to the path to the source directory of CCCL.CCCL_BINARY_DIR
is set to the path to the build directory of CCCL.CCCL_ADDED
is set to a true value if CCCL has not been added before.CCCL_VERSION
is set to the version of CCCL specified by the versions.json.