Use glfags target Update the usage of Google Flags (gflags) library the same way Glog updated it [1]. This pushes the minimum required gflags version to v2.2.0. Remove the ceres specific define of CERES_GFLAGS_NAMESPACE and directly use GFLAGS_NAMESPACE defined in gflags/gflags_declare.h [2]. In CeresConfig.cmake the hard coded paths for gflags are ommited. Instead we rely on the gflagsConfig file to get closer to a relocatable CeresConfig.cmake. Furthermore use the find_dependency() [4] cmake function specifically created for cmake-config files. This change builds upon the explicit PUBLIC/PRIVATE link change [3]. [1] https://github.com/google/glog/pull/199 [2] https://github.com/gflags/gflags/blob/d9b184bd0026b16bb4c2fded75d56fb2cce50d66/src/gflags_declare.h.in#L43 [3] https://ceres-solver-review.googlesource.com/c/ceres-solver/+/16220 [4] https://cmake.org/cmake/help/latest/module/CMakeFindDependencyMacro.html Change-Id: I9861a2699f2702bf1a5e99d07863a7e6639b7c39
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.