• * -Wsuggest-override is not supported by gcc before 5.0
    * GCC prior to 5.0 should ignore not only -Wnon-virtual-dtor but also -Weffc++, otherwise non-virtual destructor problems will still be reported.
    * The `#pragma GCC diagnostic push' should be used before setting up the temporary environment.
    * When using GCC4.8, use manual lexical analysis instead of regular expressions.
    * Add gcc4.8 stuff to travis file.
    RonxBulld authored
     
    Browse Code »




  • * Improve formatting of help descriptions (#213)
    
    * new function: cxxopts::Option::set_width(size_t width)
      Set the size of a helpline.
    * new function: cxxopts::Option::set_tab_expansion()
      Expand the tabs in descriptions.
      The tabsize 8 chars, base is start of description.
      The descriptions are not disturbed by adding additional options.
    * Allow newlines \n and tabs \t in descriptions.
    
    Other changes (last commit/new commit):
    * 1453/1471: size_t for OPTION_LONGEST and OPTION_DESC_GAP.
      This prevents the static cast in 2086/2140.
    * 2088/2142: in case of small width the value of
      "width - longest - OPTION_DEC_GAP" becomes negative.
      Because size_t is unsigned the result is a big number, and
      the width of the column of the descriptions is not shortened.
    * new 2143: When the given width is too small, it is set to
      longest + OPTION_DESC_GAP + 10
    * new 1570: A long description is broken into multiple lines, and
      the iterator lastSpace remembers the begin of the last word.
      But when the iterator current reaches the end of line, the whole
      string from iterator is printed, which in soome cases is too
      long. Thats why one blank is added to the description to trigger
      the handling of lastSpace.
      Accordingly in 1574/1627 the line is shortened by one char.
    
    * repaired signed/unsigned issue
    
    * changes for unicode
    Wolfgang Gahr authored
     
    Browse Code »



  • Several clang-tidy improvements.
    Rosen Penev authored
     
    Browse Code »
  • Workaround for GCC 10 null dereference warning.
    Benjamin Sergeant authored
     
    Browse Code »
  • Here is the warning currently being produced:
    
    CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/GNUInstallDirs.cmake:223 (message):
    Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
    target architecture is known. Please enable at least one language before
    including GNUInstallDirs.
    Call Stack (most recent call first):
    
    I noted how I fixed the error. This is caused by GNUInstallDirs automatically executing code just by including it.
    
    I also added -Werror=dev to the CI to ensure this never happens again.
    
    Co-authored-by: Juan Ramos <juanr0911@gmail.com>
    jpr89 authored
     
    Browse Code »

  • * 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 Code »