CMake generates error if Pangolin is not present due to missing ~FindPangolin.cmake file. Pangolin is not a required dependency so find_package should have QUIET.
Improved Eigen thirdparty:
a) Eigen3 is now a target, not set of variables. This means it's now first-class citizen in terms of cmake dependencies.
b) this requires to have workaround for some unfortunate mistake on Eigen's part that got deployed on some distributions (Ubuntu for example) - Eigen exported vars but not a library.
This workaround allows to write code as expected from official Eigen doc: https://eigen.tuxfamily.org/dox-devel/TopicCMakeGuide.html
There are 2 changes I think should be included:
find_package
should haveQUIET
.