libcfg+ is precise command line and config file parsing library. It is supposed to be used as an universal command line and config file parsing extension of your program. It is written in C. C++ wrapper is currently under development and will be available soon.
Important: Note that this is exactly the first release of libcfg+ library. Although it seems to work fine, a lot of improvements will be done in nearly future. So please, if you find some bug or missing feature, notice us and we will fix this as soon as it will be possible.
Also if you find some typos or badly explained parts in documentation let us know. We are not native english speakers, but we are improving our language skills every day.
There are two ways how to use libcfg+.
Install it as a separate library on your and/or customer's system and link you application dynamically agains this library. You can always check in your ./configure script if libcfg+ is or isn't installed on target system and if not notice user to install it.
We are working on possibility that your application will check installation of libcfg+ library automatically. Than if libcfg+ not exists on target system or it is not required version, it will be added to existing system. Your application than can be properly compiled and linked agains shared library.
We know that this is a little bit sophisticated thing with need of lot of testing and improving on various systems and platforms. An enhanced examples how to detect and than install or reinstall libcfg+ library will be included. Your experiences in this topic will expressivelly help us to improve libcfg+ library in this way.
The second way of usage libcfg+ is simply add library source codes to your project source codes (in example into subdirectory libcfg+/) and include main library header file cfg+.h in particular files of your application. In your Makefile simply compile all libcfg+ C files and finally link it all together.
Some of the ideas used in this project were inspired from popt command line parsing library and parsecfg configuration file parsing library. Although this, all code is written from scratch.