New in version v22.06.00.

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

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

rapids_cpm_nvcomp( [USE_PROPRIETARY_BINARY <ON|OFF>]
                   [BUILD_EXPORT_SET <export-name>]
                   [INSTALL_EXPORT_SET <export-name>]
                   [<CPM_ARGS> ...])

By enabling this flag and using the software, you agree to fully comply with the terms and conditions of nvcomp’s NVIDIA Software License Agreement. Found at https://developer.download.nvidia.com/compute/nvcomp/2.3/LICENSE.txt

NVComp offers pre-built proprietary version of the library ( for x86_64 only ) that offer more features compared to the open source version. Since NVComp currently doesn’t offer pre-built versions for all platforms, callers should verify the the request for a proprietary binary was fulfilled by checking the nvcomp_proprietary_binary variable after calling rapids_cpm_nvcomp().


If an override entry exists for the nvcomp package it MUST have a proprietary_binary entry for this to flag to do anything. Any override without this entry is considered to invalidate the existing proprietary binary entry.


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


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


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


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

Result Targets

nvcomp::nvcomp target will be created

Result Variables

nvcomp_SOURCE_DIR is set to the path to the source directory of nvcomp. nvcomp_BINARY_DIR is set to the path to the build directory of nvcomp. nvcomp_ADDED is set to a true value if nvcomp has not been added before. nvcomp_VERSION is set to the version of nvcomp specified by the versions.json. nvcomp_proprietary_binary is set to ON if the proprietary binary is being used