cuvs icon indicating copy to clipboard operation
cuvs copied to clipboard

[BUG] Support installing a libcuvs_c with a build/CMake firewall to C++ dependencies

Open robertmaynard opened this issue 4 months ago • 0 comments

Describe the bug Currently CUVS only supports installing libcuvs and libcuvs_c at the same time. This means that we package up all the C++ headers ( and dependency headers ) plus also require libcuvs_c users to have raft, rmm, and other C++ only dependencies that aren't actually required.

Expected behavior For users of libcuvs_c.so we don't have a minimal install set that does the following:

  • Install just the approved C language header files, so that users can't incorrectly call C++ unstable API's.
    • This will require a restructure of the cuvs/cpp/include headers
  • Support find_package(cuvs_c) which does the following:
    • When CUVS_STATIC_RAPIDS_LIBRARIES is enabled we will only depend on CMake dependencies of dlpack and CUDA Toolkit
    • When CUVS_STATIC_RAPIDS_LIBRARIES is disabled we will only depend on CMake dependencies of cuvs::cuvs ( and all transitive deps ), dlpack and CUDA Toolkit
  • Have some way to install libcuvs_c.so and libcuvs.so but no other dependencies that are built statically ( like librmm.a )

Additional context Required to build minimal fat or skinny JARs with the proper API exposure of our C API

robertmaynard avatar Sep 18 '25 15:09 robertmaynard