// Copyright 2012 Google Inc. All Rights Reserved. // Author: sameeragarwal@google.com (Sameer Agarwal) // // This shim file serves two purposes. // // 1. Translate the gflags includes used by the OSS version of Ceres // so that it links into the google3 version. // // 2. Call InitGoogle when ParseCommandLineFlags is called. This is // needed because while google3 binaries call InitGoogle and that call // initializes the logging and command line handling amongst other // things, the open source versions of gflags and glog are distributed // separately and require separate initialization. By hijacking this // function, and calling InitGoogle, we can compile all the example // code that ships with Ceres without any modifications. This // modification will have no impact on google3 binaries using Ceres, // as they will never call google::ParseCommandLineFlags. #ifndef GFLAGS_GFLAGS_H_ #define GFLAGS_GFLAGS_H_ #include "base/init_google.h" #include "base/commandlineflags.h" namespace google { inline void ParseCommandLineFlags(int* argc, char*** argv, const bool remove_flags) { InitGoogle(**argv, argc, argv, remove_flags); } } // namespace google #endif // GFLAGS_GFLAGS_H_