CLI11 | command line parser for C++11 | Command Line Interface library

 by   CLIUtils C++ Version: v2.3.2 License: Non-SPDX

kandi X-RAY | CLI11 Summary

kandi X-RAY | CLI11 Summary

CLI11 is a C++ library typically used in Utilities, Command Line Interface applications. CLI11 has no bugs, it has no vulnerabilities and it has medium support. However CLI11 has a Non-SPDX License. You can download it from GitHub.

CLI11 provides all the features you expect in a powerful command line parser, with a beautiful, minimal syntax and no dependencies beyond C++11. It is header only, and comes in a single file form for easy inclusion in projects. It is easy to use for small projects, but powerful enough for complex command line projects, and can be customized for frameworks. It is tested on Azure and GitHub Actions, and was originally used by the GooFit GPU fitting framework. It was inspired by plumbum.cli for Python. CLI11 has a user friendly introduction in this README, a more in-depth tutorial GitBook, as well as API documentation generated by Travis. See the changelog or GitHub Releases for details for current and past releases. Also see the Version 1.0 post, Version 1.3 post, Version 1.6 post, or Version 2.0 post for more information. You can be notified when new releases are made by subscribing to on an RSS reader, like Feedly, or use the releases mode of the GitHub watching tool.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              CLI11 has a medium active ecosystem.
              It has 2625 star(s) with 305 fork(s). There are 36 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 81 open issues and 287 have been closed. On average issues are closed in 148 days. There are 10 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of CLI11 is v2.3.2

            kandi-Quality Quality

              CLI11 has 0 bugs and 0 code smells.

            kandi-Security Security

              CLI11 has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              CLI11 code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              CLI11 has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              CLI11 releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 189 lines of code, 10 functions and 5 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of CLI11
            Get all kandi verified functions for this library.

            CLI11 Key Features

            No Key Features are available at this moment for CLI11.

            CLI11 Examples and Code Snippets

            No Code Snippets are available at this moment for CLI11.

            Community Discussions

            QUESTION

            Make doesn't recompile after cleaning object files
            Asked 2020-Jan-04 at 01:44

            I have the following makefile:

            ...

            ANSWER

            Answered 2020-Jan-04 at 01:44

            This happens because you are using a chain of pattern rules.

            Consider a simple example:

            Source https://stackoverflow.com/questions/59584741

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install CLI11

            To use, there are several methods:.
            All-in-one local header: Copy CLI11.hpp from the most recent release into your include directory, and you are set. This is combined from the source files for every release. This includes the entire command parser library, but does not include separate utilities (like Timer, AutoTimer). The utilities are completely self contained and can be copied separately.
            All-in-one global header: Like above, but copying the file to a shared folder location like /opt/CLI11. Then, the C++ include path has to be extended to point at this folder. With CMake, use include_directories(/opt/CLI11)
            Local headers and target: Use CLI/*.hpp files. You could check out the repository as a git submodule, for example. With CMake, you can use add_subdirectory and the CLI11::CLI11 interface target when linking. If not using a submodule, you must ensure that the copied files are located inside the same tree directory than your current project, to prevent an error with CMake and add_subdirectory.
            Global headers: Use CLI/*.hpp files stored in a shared folder. You could check out the git repository to a system-wide folder, for example /opt/. With CMake, you could add to the include path via:
            Global headers and target: configuring and installing the project is required for linking CLI11 to your project in the same way as you would do with any other external library. With CMake, this step allows using find_package(CLI11 CONFIG REQUIRED) and then using the CLI11::CLI11 target when linking. If CMAKE_INSTALL_PREFIX was changed during install to a specific folder like /opt/CLI11, then you have to pass -DCLI11_DIR=/opt/CLI11 when building your current project. You can also use Conan.io or Hunter. (These are just conveniences to allow you to use your favorite method of managing packages; it's just header only so including the correct path and using C++11 is all you really need.)
            Via FetchContent in CMake 3.14+ (or 3.11+ with more work): you can add this with fetch-content, then use the CLI11::CLI11 target as above, and CMake will download the project in the configure stage:

            Support

            There are some other possible "features" that are intentionally not supported by this library:.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries