Added in version v21.12.00.

Allow projects to find or build libcudacxx via CPM with built-in tracking of these dependencies for correct export support.

Uses the version of libcudacxx specified in the version file for consistency across all RAPIDS projects.

Deprecated since version v24.04.00: rapids_cpm_libcudacxx uses libcudacxx 2.1.0. Users should migrate to rapids_cpm_cccl which uses CCCL 2.x, including new versions of Thrust, CUB, and libcudacxx.

rapids_cpm_libcudacxx( [BUILD_EXPORT_SET <export-name>]
                       [INSTALL_EXPORT_SET <export-name>]
                       [<CPM_ARGS> ...])

Record that a CPMFindPackage() for libcudacxx is required in our build directory export set.


Record that a find_dependency() for libcudacxx is required in our install directory export set.


Installation of libcudacxx will occur if an INSTALL_EXPORT_SET is provided, and libcudacxx is added to the project via add_subdirectory by CPM.


Any arguments after CPM_ARGS will be forwarded to the underlying libcudacxx CPMFindPackage`() call

Result Targets

libcudacxx::libcudacxx target will be created

Result Variables

libcudacxx_SOURCE_DIR is set to the path to the source directory of libcudacxx. libcudacxx_BINARY_DIR is set to the path to the build directory of libcudacxx. libcudacxx_ADDED is set to a true value if libcudacxx has not been added before. libcudacxx_VERSION is set to the version of libcudacxx specified by the versions.json.