Commit d4391129e7b22e02b32020adc8daf5d1bdb6cb89
Committed by
GitHub
1 parent
e779d15e
Adding mention of GFlags
Showing
1 changed file
with
3 additions
and
1 deletions
README.md
| @@ -34,7 +34,8 @@ The major CLI parsers for C++ include: | @@ -34,7 +34,8 @@ The major CLI parsers for C++ include: | ||
| 34 | * [The Lean Mean C++ Option Parser]: One header file is great, but the syntax is atrocious, in my opinion. It was quite impractical to wrap the syntax or to use in a complex project. It seems to handle standard parsing quite well. | 34 | * [The Lean Mean C++ Option Parser]: One header file is great, but the syntax is atrocious, in my opinion. It was quite impractical to wrap the syntax or to use in a complex project. It seems to handle standard parsing quite well. |
| 35 | * [TCLAP]: The not-quite-standard command line parsing causes common shortcuts to fail. It also seems to be poorly supported, with only minimal bugfixes accepted. Header only, but in quite a few files. Has not managed to get enough support to move to GitHub yet. No subcommands. Produces wrapped values. | 35 | * [TCLAP]: The not-quite-standard command line parsing causes common shortcuts to fail. It also seems to be poorly supported, with only minimal bugfixes accepted. Header only, but in quite a few files. Has not managed to get enough support to move to GitHub yet. No subcommands. Produces wrapped values. |
| 36 | * [Cxxopts]: C++11, single file, and nice CMake support, but requires regex, therefore GCC 4.8 (CentOS 7 default) does not work. Syntax closely based on Boost PO, so not ideal but familiar. | 36 | * [Cxxopts]: C++11, single file, and nice CMake support, but requires regex, therefore GCC 4.8 (CentOS 7 default) does not work. Syntax closely based on Boost PO, so not ideal but familiar. |
| 37 | -* [DocOpt]: Completely different approach to program options in C++11, you write the docs and the interface is generated. Too fragile and specialized. | 37 | +* [DocOpt]: Completely different approach to program options in C++11, you write the docs and the interface is generated. Too fragile and specialized. |
| 38 | +* [GFlags]: The Google Commandline Flags library. Uses macros heavily, and is limited in scope, missing things like subcommands. It provides a simple syntax and supports config files/env vars. | ||
| 38 | 39 | ||
| 39 | So, this library was designed to provide a great syntax, good compiler compatibility, and minimal installation fuss. | 40 | So, this library was designed to provide a great syntax, good compiler compatibility, and minimal installation fuss. |
| 40 | 41 | ||
| @@ -295,3 +296,4 @@ This will print help in blue, errors in red, and will reset before returning the | @@ -295,3 +296,4 @@ This will print help in blue, errors in red, and will reset before returning the | ||
| 295 | [DocOpt]: https://github.com/docopt/docopt.cpp | 296 | [DocOpt]: https://github.com/docopt/docopt.cpp |
| 296 | [ROOT]: https://root.cern.ch | 297 | [ROOT]: https://root.cern.ch |
| 297 | [cltools-cmake]: https://github.com/CLIUtils/cmake | 298 | [cltools-cmake]: https://github.com/CLIUtils/cmake |
| 299 | +[GFlags]: https://gflags.github.io/gflags |