Force use of single-thread in Problem::Evaluate() without OpenMP.

- Ensure that, as in the preprocessor, we force num_threads to be 1
  if Ceres was compiled without OpenMP to prevent a CHECK() failure
  in internal code.

Change-Id: I49d7bdeff81e5bb24aaaa3945018d9d012cd9df9
diff --git a/internal/ceres/problem_impl.cc b/internal/ceres/problem_impl.cc
index 1c76ea6..1a048e5 100644
--- a/internal/ceres/problem_impl.cc
+++ b/internal/ceres/problem_impl.cc
@@ -731,7 +731,15 @@
   // the Evaluator decides the storage for the Jacobian based on the
   // type of linear solver being used.
   evaluator_options.linear_solver_type = SPARSE_NORMAL_CHOLESKY;
+#ifndef CERES_USE_OPENMP
+  LOG_IF(WARNING, evaluate_options.num_threads > 1)
+      << "OpenMP support is not compiled into this binary; "
+      << "only evaluate_options.num_threads = 1 is supported. Switching "
+      << "to single threaded mode.";
+  evaluator_options.num_threads = 1;
+#else
   evaluator_options.num_threads = evaluate_options.num_threads;
+#endif  // CERES_USE_OPENMP
 
   string error;
   scoped_ptr<Evaluator> evaluator(