astro-informatics / purify

Next-generation radio interferometric imaging.
https://astro-informatics.github.io/purify
GNU General Public License v2.0
17 stars 13 forks source link

Command line library #96

Closed dpshelio closed 6 years ago

dpshelio commented 7 years ago

This is probably to do with astro-informatics/sopt#132

This is a summary of the tools I've seen:

Tool License Last Update Comment
getopt GPL Current one used
gflags MIT 2017
commander ? 2013 Is in C
Boost::program_options ? ? We are using boost already
ezoptionparser MIT 2013
tclap MIT 2015 Though last update has been a while ago, they still answer to comments
docopt MIT 2017 Will do pasrsing based on the help documentation. It needs boost if using GCC-4.8

Without much of an indepth understanding and by the comments on the internet (you know...) I think we should go with boost's, gflags or tclap (probably in that order...)

Luke-Pratley commented 7 years ago

docopt looks really easy to write, and it means the documentation is always consistent with the actual options available. This has been a problem, because there are more options than what is actually documented. While it needs at least GCC-4.8, that is already required for C++11.

mdavezac commented 7 years ago

You may want to try and write the docopt alone with no code. If half way through, you want to tear hair out, then it might be time switch to a model where only a few options are available on the command-line, and most options are available only through an input file.

Luke-Pratley commented 7 years ago

That is a good suggestion, it might also give us an understanding of how to design and put the main.cc together.