Only use LTO when compiling Ceres itself, not tests or examples. - If Ceres is built as a shared library, and LTO is enabled for Ceres and the tests, then type_info::operator==() incorrectly returns false in gtests' CheckedDowncastToActualType() in the following tests: -- levenberg_marquardt_strategy_test. -- gradient_checking_cost_function_test. on at least Xcode 6 & 7 as reported here: https://github.com/google/googletest/issues/595. - This does not appear to be a gtest issue, but is perhaps an LLVM bug or an RTTI shared library issue. Either way, disabling the use of LTO when compiling the test application resolves the issue. - Allow LTO to be enabled for GCC, if it is supported. - Add CMake function to allow easy appending to target properties s/t Ceres library-specific compile flags can be iteratively constructed. Change-Id: I923e6aae4f7cefa098cf32b2f8fc19389e7918c9
Please see ceres-solver.org for more information.
Ceres development happens on Gerrit, including both repository hosting and code reviews. The GitHub Repository is a continuously updated mirror which is primarily meant for issue tracking. Please see our Contributing to Ceres Guide for more details.
The upstream Gerrit repository is
https://ceres-solver.googlesource.com/ceres-solver