Is your feature request related to a problem? Please describe.
Although RMM is header-only, for many rapids builds (in the devcontainers in particular), downstream packages get common shared dependencies transitively through RMM. Other rapids libraries advertise, in cmakelists, BUILD_SHARED_LIBS as an option that defaults to ON, but RMM does not.
Consequently, the fmt dependency we get from RMM is not configured with -DFMT_SHARED and so transitively every downstream package also does not have that compile flag.
Is your feature request related to a problem? Please describe.
Although RMM is header-only, for many rapids builds (in the devcontainers in particular), downstream packages get common shared dependencies transitively through RMM. Other rapids libraries advertise, in cmakelists,
BUILD_SHARED_LIBS
as an option that defaults toON
, but RMM does not.Consequently, the
fmt
dependency we get from RMM is not configured with-DFMT_SHARED
and so transitively every downstream package also does not have that compile flag.This causes a mismatch in the compilation command when running
build-all
in the combined rapids devcontainers compared to the nightly CI-based builds, since those explicitly request-DBUILD_SHARED_LIBS=ON
If we set this option and defaulted it to
ON
in RMM, then a naive (read, me) user who runsbuild-all
would hit the cache populated by CI builds.