API Reference

Common

The rapids_cmake functions provide common CMake logic that numerous projects require.

CPM

The rapids_cpm functions allow projects to find or build dependencies with built-in tracking of these dependencies for correct export support.

CPM Pre-Configured Packages

These rapids_cpm functions allow projects to easily find or build common RAPIDS dependencies.

These allow projects to make sure they use the same version and flags for dependencies as the rest of RAPIDS. The exact versions that each pre-configured package uses can be found here.

Cython

The rapids-cython-core module allows projects to easily build cython modules using scikit-build-core.

Note

Use of rapids-cython-core requires scikit-build-core. The behavior of the functions provided by this component is undefined if they are invoked outside of a build managed by scikit-build-core.

Cython (legacy)

Note

rapids-cython is deprecated. Please switch to rapids-cython-core.

The rapids_cython functions allow projects to easily build cython modules using scikit-build.

Note

Use of the rapids-cython component of rapids-cmake requires scikit-build. The behavior of the functions provided by this component is undefined if they are invoked outside of a build managed by scikit-build.

Find

The rapids_find functions allow projects to find system dependencies with built-in tracking of these dependencies for correct export support.

CUDA

The rapids_cuda functions provide common CMake CUDA logic that numerous projects require.

Export Set Generation

These rapids_export functions allow projects to generate correct build and install tree Project-Config.cmake modules including required dependencies.

For the vast majority of projects rapids_export() should be sufficient. But when not projects may use commands such as rapids_write_dependencies() and cmake:command:rapids_write_language to create a custom Project-Config.cmake.

Export Set Tracking

These rapids_export functions allow projects to track track dependencies for correct export generation. These should only be used when rapids_find_package(), rapids_cpm_find(), or rapids_find_generate_module() are insufficient.

Testing

The rapids_test functions simplify CTest resource allocation, allowing for tests to run in parallel without over-allocating GPU resources. More information on resource allocation can be found in the rapids-cmake Hardware Resources and Testing documentation.