C++ library helping you to easily create manage options and commands of your CLI.
You can retrieve rpm/deb package attached to latest release.
Devel packages are also build for each push to master branch in package workflow.
A nix package version is also available under tools/nix/yeschief.nix.
For CMake based projects, you can simply use FetchContent
this way:
FetchContent_Declare(
yeschief
GIT_REPOSITORY https://github.com/Gashmob/YesChief.git
GIT_TAG v1.0.0
)
FetchContent_GetProperties(yeschief)
if(NOT yeschief_POPULATED)
message(STATUS "Fetching yeschief...")
FetchContent_Populate(yeschief)
add_subdirectory(${yeschief_SOURCE_DIR})
endif()
target_link_libraries(my_target PUBLIC yeschief)
Then the include path is just #include <yeschief.h>
All following commands should be run inside a nix-shell
, it allows you to have all needed tools and binary in your PATH.
Entire project is based on cmake. So you can just run cmake as for every cmake project.
Or you can run a pre-defined script:
build_release
run_unit_tests
You can then get coverage of these tests with:
build_coverage