if "CMakeCache.txt" is found in current directory, try to load
dencoder shared libraries from ./lib. this heuristics is used by
`ceph.in` also for relaunching itself to get access to python
bindings.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit
3dec0345e72f2491b12486f69d3b9d21cece493f)
fs::path mod_dir{CEPH_DENC_MOD_DIR};
if (auto ceph_lib = getenv("CEPH_LIB"); ceph_lib) {
mod_dir = ceph_lib;
+ } else if (fs::is_regular_file("CMakeCache.txt")) {
+ mod_dir = std::filesystem::canonical("lib");
}
vector<DencoderPlugin> dencoder_plugins;
for (auto& entry : fs::directory_iterator(mod_dir)) {