The rapids_cmake functions provide common CMake logic that numerous projects require.
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.
The rapids-cython-core module allows projects to easily build cython modules using scikit-build-core.
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.
rapids-cython is deprecated. Please switch to rapids-cython-core.
The rapids_cython functions allow projects to easily build cython modules using scikit-build.
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.
The rapids_find functions allow projects to find system dependencies with built-in tracking of these dependencies for correct export support.
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
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_generate_module() are insufficient.
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.