zivid / zivid-cpp-samples

Code samples for the usage of a Zivid 3D camera in C++
BSD 3-Clause "New" or "Revised" License
22 stars 16 forks source link

Add all dependencies in CI #43

Closed knatten closed 4 years ago

knatten commented 4 years ago

Currently we only have PCL, not Eigen nor OpenCV. And when adding 16.04, we'll not even have PCL on that one.

Consider using Conan like we do in zivid-python. Think about the experience for people who just want to clone the repo and check out the samples, need to still be easy to get started.

Here's a summary of which versions we currently use (according to README.md on tip of master), and which are available in Ubuntu 16 / 18 / 20:

Dependency We use Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Eigen 3.3.7 3.3~beta1-2 3.3.4 3.3.7
OpenCV 4.0.1 2.4.9 3.2.0 4.2.0
PCL ??? 1.7.2 1.8.1 1.10.0
nedrebo commented 4 years ago

Can probably do the conon stuff only if USE_PCL or USE_EIGEN is ON.

CI of course sets everything to ON.

knatten commented 4 years ago

Yeah that would be good.

The main work for this issue I think is to decide whether to ask users to use Conan as well. We currently have a quite long KB article for how to install everything correctly on Windows, and no instructions for Linux. We need to figure out if it's simpler to instruct people to install conan instead, and allow dependencies to be installed automatically.

If we do that, it should still be possible to clone this repo and build the samples which have no dependencies, without bothering about conan. (Like it is today.)

Also need to figure out if we should allow people to override these settings and use an installation of Eigen not from conan etc.

nedrebo commented 4 years ago

Also need to figure out if we should allow people to override these settings and use an installation of Eigen not from conan etc.

I would say no to this one. Sounds like advanced usage, they figure it out anyway. Keep it as simple as possible, optimize for the casual user.

knatten commented 4 years ago

Blocked by #44 That one's been fixed now.

knatten commented 4 years ago

When this is fixed, search the code base for #43 and remove any workarounds which have been introduced in the mean time.

SatjaSivcev commented 4 years ago

Ubuntu 20.04 LTS is out, with these versions: https://www.ubuntuupdates.org/package/core/focal/universe/base/opencv https://www.ubuntuupdates.org/package/core/focal/universe/base/pcl https://www.ubuntuupdates.org/package/core/focal/universe/base/libeigen3-dev

knatten commented 4 years ago

Nice! I've updated the issue with those version numbers. Would be good if you could figure out which PCL version you depend on. Looks like we can do CI with Ubuntu 20.04 without any external dependencies! \o/

SatjaSivcev commented 4 years ago

Yes, @torbsorb confirmed the same. :)