cuvs
cuvs copied to clipboard
[BUG] Support installing a libcuvs_c with a build/CMake firewall to C++ dependencies
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
Clanguage header files, so that users can't incorrectly call C++ unstable API's.- This will require a restructure of the
cuvs/cpp/includeheaders
- This will require a restructure of the
- Support
find_package(cuvs_c)which does the following:- When
CUVS_STATIC_RAPIDS_LIBRARIESis enabled we will only depend on CMake dependencies of dlpack and CUDA Toolkit - When
CUVS_STATIC_RAPIDS_LIBRARIESis disabled we will only depend on CMake dependencies of cuvs::cuvs ( and all transitive deps ), dlpack and CUDA Toolkit
- When
- Have some way to install
libcuvs_c.soandlibcuvs.sobut 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