mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
a80b8cfeac
- Use cmake_dependent_option() for all threading models and encode their respective mutual exclusivity in the dependent-option s/t the job of ensuring mutual exclusivity is performed by CMake. - Use of cmake_dependent_option() has the downside that options are removed from the GUI if their requirements for availability are not met. So if CXX11 is OFF, then neither TBB nor CXX11_THREADS will even appear as options (they will be undefined, assumed OFF). - Perform checks for availability of C++11 if CXX11 is enabled prior to testing other options to handle dependence of TBB & CXX11_THREADS on CXX11 actually being present. - Add check for availability of C++11-specific math functions used in jet.h before reporting C++11 as found. - Add check for <atomic> before allowing TBB or CXX11_THREADS, as both options require it and it may not always be available even if the other required C++11 components are. Change-Id: Ife8cd182aeb1978539ce2c9966910ae59ebd9177