• This is broken at the moment; it needs a complete rewrite.
    
    The problem is that multiple options point to the same `OptionDetails`.
    I really need to separate parsing results from describing options.
    Jarryd Beck authored
     
    Browse Code »

  • This removes the `final` on the class, and the `virtual` keyword on the
    functions that made `final` necessary. They shouldn't have been
    virtual in the first place since nothing derives from it.
    
    This hopefully doesn't reintroduce the non-virtual-destructor warning.
    Jarryd Beck authored
     
    Browse Code »


  • ´Value´ and ´standard_value´ don't have a virtual destructor. When I understand the code right, this is intended, because they are used through ´shared_ptr´ and so its not required. Nevertheless, clang does warn about it, since at the point of the destructor call it can not check if the object has a final type. Adding the C++11 keyword ´final´ to ´standard_value´ avoids this warning.
    Benjamin Buch authored
     
    Browse Code »

  • Fixes #62. This fixes compiler warnings that are raised by MSVC.
    
    In one case the code that was warned about was never executed, but
    this compiles it out in that case to silence the warning.
    Jarryd Beck authored
     
    Browse Code »





  • Fixes #39. Closes #40. This is an overhaul of the way that integer
    arguments are parsed. Instead of using std::istream, which allows,
    for example, negative integers for unsigned types, we use our own
    parser.
    
    This allows us to do proper range checking depending on the type,
    and to correctly check for negative values passed to unsigned types.
    
    This also allows the handling of base 16 numbers.
    Jarryd Beck authored
     
    Browse Code »


  • * remove biicode support
    
    The company/startup died in 2015 and the open source project seems
    to be dead as well.
    
    * define compiler warning flags globally instead of locally for every binary
    
    * add support for cmake's find_package() (refs #52)
    
    This rewrite of the main CMakeLists.txt cleans up the way ICU flags
    are attached to the library target and adds the cmake helper files
    (cxxopts-config.cmake, cxxopts-config-version.cmake,
    cxxopts-targets.cmake) which are needed for exporting the cxxopts
    target. Cmake's find_package command uses these files when the
    library is consumed by another project.
    
    Additionally, two new tests have been added which build the example
    application via add_subdirectory and find_package.
    
    * removed target_sources from interface library
    
    Adding target_sources to interface libraries and exporting them is
    not supported in CMake 3.1 and 3.2. Furthermore, since it is a header,
    it is not needed at all.
    
    * use the *_LDFLAGS instead of *_LIBARIES when linking ICU
    
    The LIBRARIES variable seems to contain only the name and not the
    full path.
    Mario Werner authored
     
    Browse Code »