New in version v21.10.00.

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

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

rapids_cpm_thrust( NAMESPACE <namespace>
                   [BUILD_EXPORT_SET <export-name>]
                   [INSTALL_EXPORT_SET <export-name>]
                   [<CPM_ARGS> ...])

The namespace that the Thrust target will be constructed into.


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


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


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


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

Result Targets

<namespace>::Thrust target will be created

Result Variables

Thrust_SOURCE_DIR is set to the path to the source directory of Thrust. Thrust_BINARY_DIR is set to the path to the build directory of Thrust. Thrust_ADDED is set to a true value if Thrust has not been added before. Thrust_VERSION is set to the version of Thrust specified by the versions.json.