Fix evalution_benchmark compilability
Change-Id: Ib2d26595fa0e281bafa4eec983846d9513d4ea6c
diff --git a/internal/ceres/evaluation_benchmark.cc b/internal/ceres/evaluation_benchmark.cc
index ecce183..cdbfd2e 100644
--- a/internal/ceres/evaluation_benchmark.cc
+++ b/internal/ceres/evaluation_benchmark.cc
@@ -130,6 +130,14 @@
} // namespace ceres::internal
+// Older versions of benchmark library might come without ::benchmark::Shutdown
+// function. We provide an empty fallback variant of Shutdown function in
+// order to support both older and newer versions
+namespace benchmark_shutdown_fallback {
+template <typename... Args>
+void Shutdown(Args... args) {}
+}; // namespace benchmark_shutdown_fallback
+
int main(int argc, char** argv) {
::benchmark::Initialize(&argc, argv);
@@ -170,6 +178,9 @@
}
::benchmark::RunSpecifiedBenchmarks();
- ::benchmark::Shutdown();
+
+ using namespace ::benchmark;
+ using namespace benchmark_shutdown_fallback;
+ Shutdown();
return 0;
}