• * Fixes #240: Multiple long option names / aliases
    
    * We now use a vector of long option names instead of a single name
    * When specifying an option, you can provide multiple names separated by commas, at most one of which may have a length of 1 (not necessarily the first specified name). The length-1 name is the single-hyphen switch (the "short name").
    * Hashing uses the first long name
    * Option help currently only uses the first long name.
    Eyal Rozenberg authored
     
    Browse Dir »








  • * Cmake Revamp
    
    I needed to do a variety of things to ensure cxxopts worked well in my own project.
    
    I created a new cmake module to abstract a lot of the logic in the main CMakelists.txt, I think it really assists in the readability of the project. Consequently a lot of logic is now written in functions.
    
    I made a lot of the project options off by default unless the project is being built standalone. As a frequent consumer of cmake libraries this is a huge issue. Since examples, tests, installation, etc. aren't things I expect/desired by default when using libraries.
    
    Co-authored-by: Juan Ramos <juanr0911@gmail.com>
    jpr89 authored
     
    Browse Dir »



  • Major refactor of the parsing code organisation to improve encapsulation
    and not modify the input arguments. The returned result no longer has
    pointers into the original option specification.
    Jarryd Beck authored
     
    Browse Dir »






















  • Fixes #83.
    
    Adds an overload for positional arguments taking a
    `std::initializer_list`. When using an `initializer_list` with one
    argument, the function call is ambiguous matching both `std::string`
    and `std::vector<std::string>`.
    Jarryd Beck authored
     
    Browse Dir »
  • Fixes #84. Implicit values are not handled very well. For example:
    
        --foo false true
        --foo --bar
    
    In the first, `false` is an argument to `--foo`, and then `true` is a
    positional argument. In the second, because of the hyphen in `--bar`, `--foo`
    is parsed with its implicit value. This seems inconsistent and unintuitive.
    
    Better is that implicit values *never* consume the next parameter to be
    completely consistent. This means that values with an implicit parameter
    *must* be specified using the `--option=value` form.
    Jarryd Beck authored
     
    Browse Dir »