Added in version v21.10.00.

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

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

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

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


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


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


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

Added in version v23.12.00.


Will build nvbench statically. No local searching for a previously built version will occur.

Changed in version v24.02.00.

NVBench_ENABLE_CUPTI is set to OFF by default.

Result Targets

nvbench::nvbench target will be created

nvbench::main target will be created

Result Variables

nvbench_SOURCE_DIR is set to the path to the source directory of nvbench. nvbench_BINARY_DIR is set to the path to the build directory of nvbench. nvbench_ADDED is set to a true value if nvbench has not been added before. nvbench_VERSION is set to the version of nvbench specified by the versions.json.