Commit Graph

434 Commits

Author SHA1 Message Date
Nitin Kumar cbb45cc511 fix: Fix regex parsing for CXXOPTS_NO_REGEX 2026-01-22 16:24:59 +05:30
Nitin Kumar e9aff6b797 chore(ci): Add test for options_no_regex 2026-01-22 16:17:11 +05:30
Colin 929bf2de37
fix "icu-cu" -> "icu-uc" typo in cmake files (#468) 2025-10-09 15:03:39 +11:00
HanaKami 8df9a4d271
Fixes potential segmentation fault in edge cases. (#465)
The options are parsed starting from 1, so check `current < argc`
instead of `!=` in the case that `argc` is zero.
2025-09-19 07:28:21 +10:00
fiesh 80cb4520f7
Fix some warnings (#452)
* Move `result` up and return it

This allows `gcc` to elide the copy in the return and keeps it from
warning with `-Wnvro` enabled.

* Remove harmful dtor definition

The definition of the dtor is not necessary and actually harmful since
the definition of a class's implicit copy constructor is deprecated if
that class has a user-declared constructor as of C++11.  Compilers can
warn about this with `-Wdeprecated`.

---------

Co-authored-by: Christoph Weiss <weiss@wsoptics.de>
2025-08-07 07:59:52 +10:00
Sascha Brawer 781d8ee87c
Include headers in example, so it compiles (#462) 2025-08-07 07:56:58 +10:00
Victor Proon 5e6d1e29f7
fix the issue with default empty vectors behaviour. update unit test (#460) 2025-07-18 07:09:03 +10:00
Blake-Madden 9431d03437
Explain how to include spaces in list of arguments (#461) 2025-07-16 18:09:19 +10:00
Jarryd Beck 44380e5a44 Fix and bump to next version 2025-05-26 18:09:26 +10:00
Jarryd Beck 52e8f524a9 Changelog for 3.3.0 release 2025-05-23 17:46:26 +10:00
Vitaly dbf4c6a668
Added compatibility with CMake 4. (#451) 2025-03-17 17:46:27 +11:00
Yuxuan Sun 573ec27d72
fix(test): make test C++ standard consistent with build config (#450) 2025-02-27 07:26:25 +11:00
Nigel Stewart 7795b6a47b
C++17 std::filesystem::path support added (#447) 2025-01-14 17:56:41 +11:00
Nigel Stewart f029892dab
C++17 std::optional test coverage fixups (#446) 2024-12-23 07:53:42 +11:00
levonwaveye 10a7a64779
Add ParseResult::contains method (#440) 2024-10-24 07:14:32 +11:00
pastalian 63d1b65a69
Add missing header for gcc-15 (#438) 2024-08-28 21:31:42 +10:00
Jarryd Beck 2ad116a9d3 Update catch header
Fixes #435. Updates catch header to fix include error on MacOS.
2024-07-16 09:29:45 +10:00
權少 59656709c0
Fix example and test compiled warnings and error in MSVC. (#428)
* Fix example and test compiled warnings and error in MSVC.
2024-04-27 12:11:52 +10:00
nyako c39022e047
fix conflict with minwindef.h on windows (#426) 2024-04-07 15:14:01 +10:00
Dylan Baker dcf3e1a551
Fix a number of packaging issues (#423)
* cmake: set PROJECT_DESCRIPTION and PROJECT_HOMEPAGE_URL after project()

Otherwise they are set to an empty string.

* cmake: set the pkg-config URL field

Since the information is already there to set it.

* cmake: use CMAKE_INSTALL_DATAROOTDIR if CMAKE_LIBRARY_ARCHITECTURE is unset

This causes files on NixOS to be put in the proper architecture
independent place, which otherwise was selecting the architecture
dependent location.

* cmake: Properly set pkg-config requires when configured with ICU

In this case the pkg-config file needs to set icu-cu in the `Required`
field, and needs to add the flag `-DCXXOPTS_USE_UNICODE` to the `Cflags`
field.

* cmake: cxxopts is not arch independent when built with ICU support

Since it links to an architecture dependent ICU
2024-03-08 15:47:28 +11:00
Nigel Stewart 3d9a4c06d9
cxxopts as_optional fixup (#422)
Co-authored-by: Nigel Stewart <nigel.stewart@emesent.io>
2024-03-08 15:30:06 +11:00
Nigel Stewart 70fb4e4814
Extend cxxopts API to support as_optional in addition to as query of values (#421)
Co-authored-by: Nigel Stewart <nigel.stewart@emesent.io>
2024-02-29 20:27:19 +11:00
Jarryd Beck 4bf61f0869 Add changes for 3.2.1 2024-02-20 19:39:52 +11:00
jarro2783 1e175bc1db
Fix ordering of parse_value functions (#420)
Fixes #419. Put the definitions of parse_value functions before they
are called so that the right ones are chosen.
2024-02-20 19:38:44 +11:00
jarro2783 3bf268481d
Make cxxopts.hpp ready for 3.2
Update version number in header, ready for 3.2
2024-02-15 16:24:38 +11:00
jarro2783 f7194e9c59
Update CHANGELOG.md
Make changelog ready for 3.2
2024-02-15 16:23:58 +11:00
jarro2783 71d5bf7265
Update CHANGELOG.md 2024-02-15 16:23:15 +11:00
jarro2783 d3de64f26e
Update CHANGELOG.md 2024-02-15 16:21:30 +11:00
ololuki e84ab5f67c
Fix overflow error in integer_parser. (#417)
Fixes #290.
Checking for overflow should be done before integer overflows.
There are two checks:
(result > limit / base) is used for limits greater than rounded up to base,
e.g. for 65535 it will activate for 65540 and higher.
(result * base > limit - digit) is used for limit+1 to limit+n below
next base rounded number, e.g. 65536 up to 65539.
2024-02-01 16:51:32 +11:00
Jarryd Beck 7bf29108d5 Update catch2 to latest 2.x 2024-01-15 21:04:41 +11:00
Nigel Stewart cd61c685eb
Ordered vector of group names to preserve order of groups (#416)
Co-authored-by: Nigel Stewart <nigel.stewart@emesent.io>
2024-01-15 20:52:54 +11:00
Blake-Madden 554396be3b
Minor typo in README.md (#411)
Fix grammar in README
2023-11-25 11:49:16 +11:00
Jarryd Beck 78b90d8f0c Remove incorrect sentence in README
Fixes #410. Removes sentence about ParseResult scope that is no longer correct.
2023-11-13 16:49:18 +11:00
Jarryd Beck c8c932f891 Add CHANGELOG for #398 2023-06-15 07:35:14 +10:00
Alexander Galanin ddc695ebac
Don't split by list delimiter in positional lists (#398) 2023-06-15 07:34:26 +10:00
Jarryd Beck bf1b5a96e0 Update changelog 2023-06-15 07:18:53 +10:00
Jarryd Beck 90b318105f Fix unannoted fallthrough
Fixes #402.
2023-06-15 07:18:30 +10:00
Maximilian Knespel a526762eb8
[fix] Avoid std::regex initialization during dlopen (#406) 2023-05-31 07:26:34 +10:00
Jarryd Beck beda973ec6 Remove incorrect todo.
Fixes #404.
2023-05-22 17:31:17 +10:00
Julien Voisin 714a105fe6
Bump rules_fuzzing to the latest available version (#403) 2023-05-01 06:45:55 +10:00
Nigel Stewart 16cc254919
Output same exception messages for both Linux and Windows (#395)
Co-authored-by: Nigel Stewart <nigel.stewart@emesent.io>
2023-04-03 17:15:01 +10:00
Jarryd Beck 120205ac5a Fix cast warning in Unicode function
Fixes #339. Fixes a sign conversion warning in a function compiled by
-DCXXOPTS_USE_UNICODE_HELP=1.
2023-03-15 07:09:09 +11:00
Jarryd Beck 89a9d334f2 Add note about exceptions in Changelog 2023-03-13 07:52:48 +11:00
Nathaniel Brough 44739d3023
feat(fuzz): Adds trigger for fuzzing in the CI (#392) 2023-02-22 07:03:38 +11:00
Demian Hespe 134f60f973
Fix noexcept warning (#391) 2023-02-20 07:25:13 +11:00
Jarryd Beck eb787304d6 Fix version number 2023-02-16 07:02:16 +11:00
Jarryd Beck c12ce65503 Update CHANGELOG for 3.1 release 2023-02-13 07:31:30 +11:00
Jarryd Beck b80bdfddf0 Added missing CHANGELOG entry 2023-02-13 07:31:30 +11:00
Martijn Courteaux 799ee0e3e8
Add <locale> to be spec-compliant for std::isalnum (didn't work on MSVC). (#385) 2023-02-11 15:47:48 +11:00
Nathaniel Brough 58daccc945
feat(fuzzer): Adds fuzz tests (#386) 2023-02-06 07:30:51 +11:00