-
Fixes #276. Remove the fix for null dereference warning for GCC after 10.1.0 because this was removed in later versions.
-
Several clang-tidy improvements.
-
Workaround for GCC 10 null dereference warning.
-
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>
-
* 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>
-
Allow extra compiler warnings to be disabled.
-
We also add the suggested `override` keyword.
-
…ic flags are set (#238) Makes some fixes to satisfy various strict warnings.
-
Fixes #257. The input array is not modified, so we can declare this as `char const* const*`.
-
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.
-
* Fix compiler warning C4702 for MSVC-14
-
Fixes the installation paths by using cmake variables.
-
Adding support for the bazel build system
-
`cxxopts` doesn't modify the contents of the argv strings. This changes the parse function to take a reference to a `const char**`.
-
Found with modernize-use-nodiscard Signed-off-by: Rosen Penev <rosenp@gmail.com>
-
* Fixes #245: * Added a new exception type: `option_has_no_value_exception`; throwing it when an option has no value we can cast with `as()`, instead of an `std::domain_error`. * The `OptionValue` type now holds a pointer to the long option name (in its corresponding key within ParseResults's `m_results` field.
-
…n on the command-line. (#247)
-
Uses std::exit instead of abort to terminate when exceptions are disabled.
-
Fixes #219. The example was wrong as ParseResult can't be returned out of scope of the options parser.
-
Fixes #201. Parse char type correctly and check for length.
-
Fixes #202.
-
Fix CXXOPTS_NO_EXCEPTIONS so that it doesn't warn about unused parameters, and print out error messages.
-
Fixes #197. Don't parse default options twice when there is a short and long option.
-
Install targets will not be generated if this option is set to OFF, which is useful when including it as a bundled dependency of another project.