New in version v21.06.00.

Establish the CPM and preset package infrastructure for the project.

rapids_cpm_init( [OVERRIDE <json_override_file_path> ]

The CPM module will be downloaded based on the state of CPM_SOURCE_CACHE and ENV{CPM_SOURCE_CACHE}. This allows multiple nested projects to share the same download of CPM. If those variables aren’t set the file will be cached in the build tree of the calling project

New in version v24.04.00: As part of establishing rapids-cmake CPM the rapids_cpm_init() command will call rapids_cpm_generate_pinned_versions() to automatically generate <CMAKE_BINARY_DIR>/rapids-cmake/pinned_versions.json which will contain all the exact git SHAs used to build cpm dependencies.

New in version v21.10.00: OVERRIDE Override the CPM preset package information for the project. The user provided json file must follow the versions.json format, which is documented here.

If the override file doesn’t specify a value or package entry the default version will be used.

New in version v24.04.00: ` GENERATE_PINNED_VERSIONS ` Generates a json file with all CPM dependencies with pinned version values. This allows for reproducible builds using the exact same state. The pinning file will be located at <CMAKE_BINARY_DIR>/rapids-cmake/pinned_versions.json


Must be called before any invocation of rapids_cpm_find().