mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
ea76585068
- Previously we passed all compile options to Ceres via add_definitions in CMake. This was fine for private definitions (used only by Ceres) but required additional work for public definitions to ensure they were correctly propagated to clients via CMake using target_compile_definitions() (>= 2.8.11) or add_definitions(). - A drawback to these approaches is that they did not work for chained dependencies on Ceres, as in if in the users project B <- A <- Ceres, then although the required Ceres public compile definitions would be used when compiling A, they would not be propagated to B. - This patch replaces the addition of compile definitions via add_definitions() with an autogenerated config.h header which is installed with Ceres and defines all of the enabled Ceres compile options. - This removes the need for the user to propagate any compile definitions in their projects, and additionally allows post-install inspect of the options with which Ceres was compiled. Change-Id: Idbdb6abdad0eb31e7540370e301afe87a07f2260