Description
In the https://github.com/cwi-dis/cwipc toolkit that I maintain I depend on libpcl for some features. Specifically for this bug report: I use the ply-file readers from the io package. My toolkit is cross-platform.
But the io package is rather heavy: it also depends on vtk and OpenNI (at least when it is built for the Windows all-in-one installer).
So this means my users have a whole lot of packages they need to install, even though my toolkit doesn't actually need them.
Both of the mentioned dependencies have their own specific problems, especially on Windows:
- vtk is large and unwieldy and versions seem to follow each other quickly, making it difficult to instal.
- OpenNI is very sensitive for how it is installed, and how it is added to
PATH
.
(I have a similar issue with the boost
dependency, but I get the impression that the libpcl developers are already moving away from boost as much as possible, so I'm hoping that problem will eventually go away by itself).
Context
See above.
Expected behavior
If the OpenNI and VTK I/O handlers were in their own package, in stead of in io
, I wouldn't have to worry about them (because I don't use them).
Current Behavior
Currently all I/O is in a single package io
, which means that the only way to disable (or enable) certain features is to build libpcl from source.
Describe the solution you'd like
If the OpenNI and VTK I/O handlers were in their own package, in stead of in io
, I wouldn't have to worry about them (because I don't use them).
Describe alternatives you've considered
An alternative is that I build libpcl from source with exactly the options I need, and that I distribute that version with my cwipc
package. But that would "lock in" the users of my package to have access only to the libpcl features that I happen to have selected, whereas with the setup where I don't distribute a private copy of libpcl my users have the freedom to use any libpcl feature they want (because I'm linking to the libpcl that they have installed).
Additional context