cli/1.2.0

[full]

Command line interface (CLI) compiler for C++

CLI is a Command Line Interface definition language for C++. This package
contains the compiler implementation for this language.

See the NEWS file for the user-visible changes from the previous release.

See the LICENSE file for distribution conditions.

See the INSTALL file for prerequisites and installation instructions.

See the doc/ directory for documentation.

The project page is at https://www.codesynthesis.com/projects/cli/.

Send questions, bug reports, or any other feedback to
cli-users@codesynthesis.com.... More
version 1.2.0
license MIT
repository https://pkg.cppget.org/1/stable
download cli-1.2.0.tar.gz
sha256 86f79382b61269915b204e30b8e13d66634eb1dd4034c42bf7015d18ab50b572
project cli
url www.codesynthesis.com/projects/cli/
doc-url www.codesynthesis.com/projects/cli/doc/guide/
src-url git.codesynthesis.com/cgit/cli/cli/tree/cli/
topics C++command line interfacesource code generationdocumentation generation

Depends (1)

libcutl ^1.11.0-

Requires (2)

c++14
host

Tests

* cli-tests == 1.2.0

Examples

* cli-examples == 1.2.0

Reviews

fail 0
pass 1

Builds

toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-static_O3
timestamp 2024-09-14 02:10:03 UTC (34 seconds ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-O3
timestamp 2024-09-14 02:09:05 UTC (01:32 minutes ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18
timestamp 2024-09-14 02:07:06 UTC (03:31 minutes ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-static_O3
timestamp 2024-09-13 20:22:50 UTC (05:47:48 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-O3
timestamp 2024-09-13 20:22:37 UTC (05:48:00 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64-static_O2
timestamp 2024-09-13 20:22:37 UTC (05:48:01 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14
timestamp 2024-09-13 20:20:59 UTC (05:49:38 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64-O2
timestamp 2024-09-13 20:12:58 UTC (05:57:39 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-static_O3
timestamp 2024-09-13 20:11:43 UTC (05:58:54 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-O3
timestamp 2024-09-13 20:11:23 UTC (05:59:14 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64
timestamp 2024-09-13 20:10:39 UTC (05:59:58 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18-static_O3
timestamp 2024-09-13 20:07:18 UTC (06:03:19 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10-static_O2
timestamp 2024-09-13 20:06:42 UTC (06:03:55 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18-O3
timestamp 2024-09-13 20:06:08 UTC (06:04:29 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++
timestamp 2024-09-13 20:05:31 UTC (06:05:06 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10-O2
timestamp 2024-09-13 20:05:05 UTC (06:05:32 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8-static_O2
timestamp 2024-09-13 20:04:57 UTC (06:05:40 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10-O2
timestamp 2024-09-13 20:04:57 UTC (06:05:40 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18
timestamp 2024-09-13 20:04:04 UTC (06:06:33 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10
timestamp 2024-09-13 20:03:38 UTC (06:07:00 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8-O2
timestamp 2024-09-13 20:03:33 UTC (06:07:04 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10-static_O2
timestamp 2024-09-13 20:02:43 UTC (06:07:54 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_fedora_39-gcc_13-bindist
timestamp 2024-09-13 20:02:15 UTC (06:08:22 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_17_msvc_msvc_17.10
timestamp 2024-09-13 20:01:53 UTC (06:08:44 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8
timestamp 2024-09-13 20:01:32 UTC (06:09:05 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10
timestamp 2024-09-13 20:00:51 UTC (06:09:46 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0
timestamp 2024-09-13 19:57:03 UTC (06:13:34 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_12-bindist
timestamp 2024-09-13 19:53:57 UTC (06:16:40 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_ubuntu_24.04-gcc_13-bindist
timestamp 2024-09-13 19:53:47 UTC (06:16:50 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1
timestamp 2024-09-13 19:50:50 UTC (06:19:47 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_17_libc++
timestamp 2024-09-13 19:31:07 UTC (06:39:31 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18-static_O3
timestamp 2024-09-13 19:31:01 UTC (06:39:36 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18-O3
timestamp 2024-09-13 19:29:05 UTC (06:41:32 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18
timestamp 2024-09-13 19:27:02 UTC (06:43:35 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_17
timestamp 2024-09-13 18:57:13 UTC (07:13:24 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd13.3
tgt config freebsd_13-clang_17
timestamp 2024-09-13 18:55:51 UTC (07:14:46 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-ndebug_O3
timestamp 2024-09-13 12:25:00 UTC (13:45:37 hours ago)
result warning (update) | warning (install) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_17_libc++
timestamp 2024-09-13 12:05:07 UTC (14:05:30 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13
timestamp 2024-09-13 12:04:54 UTC (14:05:43 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_17
timestamp 2024-09-13 12:04:22 UTC (14:06:16 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-ndebug_O3
timestamp 2024-09-13 12:02:04 UTC (14:08:33 hours ago)
result warning (update) | warning (install) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_fedora_40-gcc_14-bindist
timestamp 2024-09-12 21:12:05 UTC (01 04:58:32 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-static_O3
timestamp 2024-09-12 04:37:02 UTC (01 21:33:35 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-O3
timestamp 2024-09-12 04:35:06 UTC (01 21:35:31 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew
timestamp 2024-09-12 04:32:24 UTC (01 21:38:13 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-static_O3
timestamp 2024-09-11 03:52:19 UTC (02 22:18:18 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-O3
timestamp 2024-09-11 03:50:17 UTC (02 22:20:20 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14
timestamp 2024-09-11 03:48:01 UTC (02 22:22:36 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-static_O3
timestamp 2024-09-11 02:20:29 UTC (02 23:50:08 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-O3
timestamp 2024-09-11 02:12:51 UTC (02 23:57:46 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++
timestamp 2024-09-11 02:10:18 UTC (03 00:00:19 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0-O3
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0-static_O3
result unbuilt

Changes

Version 1.2.0

  * New option, --generate-merge, triggers the generation of the merge()
    function which can be used to merge several already parsed options class
    instances, for example, to implement option appending/overriding.

  * New option, --generate-specifier, triggers the generation of functions for
    determining whether the option was specified on the command line.

  * New option, --suppress-undocumented, suppresses the generation of
    documentation entries for undocumented options.

  * New option, --cli-namespace, allows changing of the namespace for the
    generated CLI support types.

  * The argv_file_scanner now supports double and single-quoting option values
    in option files. This is useful to preserve leading and trailing
    whitespaces as well as to specify empty values.

  * The argv_file_scanner now supports multiple file options as well as file
    search callbacks.

  * New option, --generate-dep, triggers the generation of the make dependency
    information. Other related new options: --dep-suffix, --dep-file.

  * Support for std::multimap as an option type in addition to std::map.

Version 1.1.0

  * Support for option documentation. Option documentation is used to print
    the usage information as well as to generate the program documentation in
    the HTML and man page formats. For details, see Sections 2.5, "Adding
    Documentation" and 3.3, "Option Documentation" in the Getting Started
    Guide. New CLI compiler command line options related to this feature:

    --suppress-usage
    --long-usage
    --option-length
    --generate-cxx
    --generate-man
    --generate-html
    --man-prologue
    --man-epilogue
    --html-prologue
    --html-epilogue
    --man-suffix
    --html-suffix
    --class
    --stdout

    The CLI compiler usage, HTML documentation, and man page are auto-generated
    using this feature.

  * New option, --generate-modifier, triggers the generation of the option
    value modifiers in addition to the accessors.

  * Support for erasing the parsed elements from the argc/argv array. See
    Section 3.1, "Option Class Definition" in the Getting Started Guide for
    more information.

  * New scanner interface. Starting with this version, the option class has
    a new constructor which accepts an abstract scanner interface. See Section
    3.1, "Option Class Definition" in the Getting Started Guide for more
    information.

  * New option, --generate-file-scanner, triggers the generation of the
    argv_file_scanner scanner implementation which provides support for
    reading command line arguments from the argv array as well as files
    specified with command line options. For more information see Section
    3.1, "Option Class Definition" in the Getting Started Guide as well as
    the 'file' example.

  * New option, --options-file, allows additional CLI command line options
    to be provided in files (implemented using argv_file_scanner).

Version 1.0.0

  * First public release.