libCLImate is a portable, lightweight mini-framework that encapsulates the common aspects of Command-Line Interface boilerplate, including:
- command-line argument parsing and sorting (using the CLASP library);
- diagnostic logging library (Pantheios) initialisation / lifetime scoping;
- provision of de-facto standard CLI facilities, such as responding to
'--help'
and'--version'
flags;
Detailed instructions - via CMake, via bundling, via custom makefile parameters - are provided in the accompanying INSTALL.md file.
T.B.C.
T.B.C.
Examples are provided in the examples
directory. A detailed list TOC of them is provided in EXAMPLES.md.
Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/libCLImate.
libCLImate depends directly on the following libraries:
- CLASP, v0.15.0 (alpha 5) or later - CLASP - command-line argument sorting and parsing - is a small, simple C-language library for parsing command-line arguments, along with a C++ header-only API. Current working version at https://github.com/synesissoftware/STLSoft-1.11 (but will be at https://github.com/synesissoftware/STLSoft in Q3 2025 and onwards);
- Pantheios, v1.0.1 (beta 22) or later - Pantheios is an Open Source C/C++ Diagnostic Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use;
- Pantheios.Extras.DiagUtil, v0.1.2 (beta 1) or later - Pantheios.Extras.Main is a header-only library that provides a suite of functions that aid diagnostics. Currently, this is a Windows-only dependency;
- Pantheios.Extras.Main, v0.2.1 (alpha 2) or later - Pantheios.Extras.Main is a header-only library that provides a suite of functions that simplify the implementation of
main()
; - STLSoft, v1.11.1 (beta 2) or later - STLSoft is a header-only library that provides platform and compiler feature discrimination, as well as numerous utility components;
libCLImate depends indirectly on the following libraries:
- b64, v1.5.2 or later - b64 provides Base-64 encoding/decoding, and is an optional dependency of Pantheios;
- recls, v0.10.0 (beta 2) or later - recls is a platform-independent recursive search library, and is an optional dependency of CLASP. recls is only required on Windows (where it's used for expanding command-line wildcards);
The dependencies graph is:
libCLImate
|
+- CLASP
| |
| +- (STLSoft)
| |
| +- recls (Windows-only)
| |
| +- (STLSoft)
|
+- Pantheios
| |
| +- (b64)
| |
| +- (STLSoft)
|
+- Pantheios.Extras.DiagUtil (Windows-only)
| |
| +- (Pantheios)
| |
| +- (STLSoft)
|
+- Pantheios.Extras.Main
| |
| +- (Pantheios)
| |
| +- (STLSoft)
|
+- STLSoft
T.B.C.
libCLImate is released under the 3-clause BSD license. See LICENSE for details.