Use Eigen3::Eigen target Since version 3.3 Eigen provides Eigen3Config.cmake with the imported target Eigen3::Eigen. [1] Use this imported target as descibed in Eigen-Wiki [2] In the CeresConfig file improve relocatability by removing absolute paths to the compiled dependencies. Instead find the used Eigen3::Eigen. Furthermore use the find_dependency() [4] CMake function instead of the find_package() call in CeresConfig. This commit relies on all targets to be explicitly linked private or public as done in the the change [3] [1] https://bitbucket.org/eigen/eigen/pull-requests/257/cmake-imported-target-take-2/diff [2] https://eigen.tuxfamily.org/dox/TopicCMakeGuide.html [3] https://ceres-solver-review.googlesource.com/c/ceres-solver/+/16220 [4] https://cmake.org/cmake/help/latest/module/CMakeFindDependencyMacro.html Change-Id: I44f44a089083f7169bcf430b59775242e4eb72d1
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.