Skip to content

synesissoftware/libCLImate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libCLImate

Table of Contents

Introduction

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;

Installation

Detailed instructions - via CMake, via bundling, via custom makefile parameters - are provided in the accompanying INSTALL.md file.

Components

C API

T.B.C.

C++ API

T.B.C.

Examples

Examples are provided in the examples directory. A detailed list TOC of them is provided in EXAMPLES.md.

Project Information

Where to get help

GitHub Page

Contribution guidelines

Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/libCLImate.

Dependencies

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

Related projects

T.B.C.

License

libCLImate is released under the 3-clause BSD license. See LICENSE for details.

About

Command-Line Interface boilerplate mini-framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •