commit | f26f954105e0489b5d9963662791c29f88e3d122 | [log] [tgz] |
---|---|---|
author | Johannes Beck <Jodebo_Beck@gmx.de> | Thu Jan 02 19:17:31 2020 +0100 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Tue Jan 07 17:25:54 2020 +0000 |
tree | 72f27bde0f9d7994e9afdecd44b99cd8f181c064 | |
parent | fdf9cfd3207307625e38d9d09176cd3b7a21fd2b [diff] |
Fix windows MSVC build. This CL improves the build experience with MSVC: - It adds the build flag '/bigobj' otherwise the build of the unit test fails. - It adds the flag '/wd4267' to suppress signed / unsigned int conversions (size_t to int). - It removes the use of std::aligned_storage from FixedArray. This has been done from the Abseil Team and is in the absl::FixedArray. Those changes has been ported to ceres. This fixes the alignemnt for older MSVC versions due to a bug in the implementation of std::aligned_storage, and prevents the use of the macro '_ENABLE_EXTENDED_ALIGNED_STORAGE' for newer MSVC versions, which is problematic as it could affect user code. - Fix of the fixed array unit test. Due to the use of std::tuple instead of absl::tuple in ceres::internal::FixedArray, the unit test needs to reflect that change as well. - Replaces 'add_definitions' with 'add_compile_options' for compiler flags as suggested by the cmake documentation. Change-Id: I63f08cd6c0a8db8c9931289b909b4deafd75b039
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.