Optrone is a simple argument parser for Anstro Pleuton's programs. Despite this, it has pretty much all the features you would expect from an argument parser. And more!
- Long arguments (
--argument
,--help
, etc.) - Short arguments (
-a
,-h
, etc.) - Combined short arguments (
-ah
treated as-a
and-h
) - Argument with values (
--argument value
,-a value
,--argument=value
,-a=value
, etc.) - Old Microsoft-style "switches" (
/SWITCH
,/S
,/SWITCH:ON
, etc.)
- Know to program in C++
- Know to program in C++23 (optional, recommended)
- Know to use third party C++ libraries
- Know to use CMake
If you are not Anstro Pleuton, which you probably are, here is a quick and rough guide to use my library:
- Setup:
- Clone this repository.
git clone https://github.com/anstropleuton/optrone.git cd optrone
- Dependencies
- Clone/update dependencies
git submodule update --init --recursive
- Build the library:
- Make build folder:
mkdir build cd build
- Build the project:
cmake .. cmake --build .
- Install (optional, Unix/-like only)
Note: To uninstall, use
sudo cmake --install .
sudo cmake --build . --target uninstall
- If you are using CMake, you can use
find_package
/add_subdirectory
orFetchContent_Declare
/FetchContent_MakeAvailable
, or manually setinclude
andbuild
as include directories and linkbuild/liboptrone.a
.
Assuming you are in root directory of this project and built the project in build directory, generate documentation using:
cd build
doxygen
Refer to the Changelog for info about changes in each version.
Check out Guidelines before you submit your code! Make sure to create a branch with one task with the name of the category of your task (i.e., "features/", "bugfix/", etc.) your task before you change the code.
Thanks to jothepro for the stylesheet Doxygen Awesome for Doxygen.
Thanks to Nuno Pinheiro (can't find link) for the background Elarun. But I did find a KDE store link to the background image. I think you could consider that. If KDE developers are here, I would appreciate your help to find a proper link to the author.
Thanks to GLFW for some code in CMake.
This project is licensed under the terms of MIT License, see License.
That folder is where I put my useless features. Don't use them please.