README.md (1849B)
1 # Poafloc 2 3 Command-line argument parser for C and C++ written in C++20 4 5 ## Description 6 7 This project is heavily inspired by GNU argp and the initial goal was to have 8 a drop in replacement. I've managed to implement most of the features I plan 9 on using, but there is still space for future improvements, maybe even in 10 other directions. 11 12 The main motivation behind this project is gaining an in depth understanding 13 of all of the syntax rules of command line arguments, to be used for all of 14 the UNIX utilities. 15 16 This project included a few challenges in both the design and implementation. 17 There was a lot of experimentation with interface that works for both C and 18 C++, as well as having a single library that provides bindings and works with 19 both languages simultaneously. There were a lot of caveats and edge cases to 20 be understood first, and later implemented. 21 22 23 ## Dependencies 24 25 * CMake 3.25.2 or latter 26 * Compiler with C++20 support (tested: clang 16.0.5, gcc 13.2.0) 27 28 29 ## Building and installing 30 31 See the [BUILDING](BUILDING.md) document. 32 33 34 ## Usage 35 36 > Please reference example folder for relevant usage example. 37 38 39 ## Help 40 41 Refer to [GNU argp documentation](https://www.gnu.org/software/libc/manual/html_node/Argp.html) 42 43 44 ## Version History 45 46 - 1.1 47 * Modernize CMake project 48 * Modernize codebase 49 * Add test suite 50 51 - 1.0 52 * Initial Release 53 54 55 ## Contributing 56 57 See the [CONTRIBUTING](CONTRIBUTING.md) document. 58 59 60 ## License 61 62 This project is licensed under the MIT License - 63 see the [LICENSE](LICENSE.md) document for details 64 65 66 ## Acknowledgments 67 68 Inspiration, code snippets, etc. 69 * [GNU argp documentation](https://www.gnu.org/software/libc/manual/html_node/Argp.html) 70 * [Step-by-Step into Argp](http://nongnu.askapache.com/argpbook/step-by-step-into-argp.pdf) 71 * [ericonr/argp-standalone](https://github.com/ericonr/argp-standalone)