rapids_cpm_libcoro

Added in version v26.08.00.

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

libcoro is a C++20 coroutine library.

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

rapids_cpm_libcoro( [BUILD_EXPORT_SET <export-name>]
                    [INSTALL_EXPORT_SET <export-name>]
                    [EXCLUDE_FROM_ALL]
                    [BUILD_STATIC]
                    [<CPM_ARGS> ...])
BUILD_EXPORT_SET

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

INSTALL_EXPORT_SET

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

Note

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

EXCLUDE_FROM_ALL

When provided, marks the package as excluded from the install() target. This overrides the default value from the versions.json configuration. When EXCLUDE_FROM_ALL is specified alongside INSTALL_EXPORT_SET, the package will not be installed.

CPM_ARGS

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

BUILD_STATIC

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

Result Targets

libcoro::libcoro target will be created

Result Variables

libcoro_SOURCE_DIR is set to the path to the source directory of libcoro. libcoro_BINARY_DIR is set to the path to the build directory of libcoro. libcoro_ADDED is set to a true value if libcoro has not been added before. libcoro_VERSION is set to the version of libcoro specified by the versions.json.