There is a newer version of the record available.

Published July 14, 2021 | Version v2.0.0
Software Open

CLIUtils/CLI11: Version 2.0: Cleanup & TOML

  • 1. Princeton University
  • 2. @LLNL
  • 3. Nokia TECH
  • 4. European Spallation Source
  • 5. Carnegie Institution for Science
  • 6. Mellanox
  • 7. Sandia National Laboratories
  • 8. University of Malaga, @MRPT
  • 9. @dontnod
  • 10. @vmware
  • 11. University of Sussex
  • 12. Williams College
  • 13. @NordicSemiconductor
  • 14. @neurala
  • 15. @GarnerCorp
  • 16. KOLANICH inc.
  • 17. HIMVIS LLC

Description

This version focuses on cleaning up deprecated functionality, and some minor default changes. The config processing is TOML compliant now. Atomics and complex numbers are directly supported, along with other container improvements. A new version flag option has finally been added. Subcommands are significantly improved with new features and bugfixes for corner cases. This release contains a lot of backend cleanup, including a complete overhaul of the testing system and single file generation system.

  • Built-in config format is TOML compliant now #435
    • Support multiline TOML #528
    • Support for configurable quotes #599
    • Support short/positional options in config mode #443
  • More powerful containers, support for %% separator #423
  • Support atomic types #520 and complex types natively #423
  • Add a type validator CLI::TypeValidator<TYPE> #526
  • Add a version flag easily #452, with help message #601
  • Support ->silent() on subcommands. #529
  • Add alias section to help for subcommands #545
  • Allow quotes to specify a program name #605
  • Backend: redesigned MakeSingleFiles to have a higher level of manual control, to support future features. #546
  • Backend: moved testing from GTest to Catch2 #574
  • Bugfix: avoid duplicated and missed calls to the final callback #584
  • Bugfix: support embedded newlines in more places #592
  • Bugfix: avoid listing helpall as a required flag #530
  • Bugfix: avoid a clash with WINDOWS define #563
  • Bugfix: the help flag didn't get processed when a config file was required #606
  • Bugfix: fix description of non-configurable subcommands in config #604
  • Build: support pkg-config #523
Converting from CLI11 1.9:
  • Removed deprecated set commands, use validators instead. #565
  • The final "defaulted" bool has been removed, use ->capture_default_str() instead. Use app.option_defaults()->always_capture_default() to set this for all future options. #597
  • Use add_option on a complex number instead of add_complex, which has been removed.

Files

CLIUtils/CLI11-v2.0.0.zip

Files (338.9 kB)

Name Size Download all
md5:09dbd313485c584d2714206a275352fd
338.9 kB Preview Download

Additional details

Related works