Module Cmd.Exit
Contents
Instructions: Use this module in your project
In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:
Add the following to your project's
dependencies/CMakeLists.txt:DkSDKProject_DeclareAvailable(cmdliner CONSTRAINT "= 1.1.1+dune" FINDLIBS cmdliner) DkSDKProject_MakeAvailable(cmdliner)Add the
Findlib::cmdlinerlibrary to any desired targets insrc/*/CMakeLists.txt:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::cmdliner)Click your IDE's
Buildbutton
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install cmdliner.1.1.1+duneEdit your
dune-projectand add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (cmdliner (>= 1.1.1+dune))))Then run:
dune build *.opam # if this fails, run: dune buildEdit your
<package>.opamfile and add:depends: [ # ... existing dependencies ... "cmdliner" {>= "1.1.1+dune"} ]Then run:
opam install . --deps-only
FINALLY, add the cmdliner library to any desired (library)and/or (executable) targets in your **/dune files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
cmdliner))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
cmdliner))Exit codes
typecode`` = int
The type for exit codes.
Warning. You should avoid status codes strictly greater than 125 as those may be used by some shells.
valok :code
ok is 0, the exit status for success.
valsome_error :code
some_error is 123, an exit status for indisciminate errors reported
on stderr.
valcli_error :code
cli_error is 124, an exit status for command line parsing errors.
valinternal_error :code
internal_error is 125, an exit status for unexpected internal
errors.
Exit code information
typeinfo
The type for exit code information.
exit_info ~docs ~doc min ~max describe the range of exit statuses from
min to max (defaults to min). doc is the man page information
for the statuses, defaults to "undocumented". docs is the title of
the man page section in which the statuses will be listed, it defaults
to Manpage.s_exit_status.
In doc the documentation markup
language can be used with following variables:
$(status), the value ofmin.$(status_max), the value ofmax.- The variables mentioned in the
Cmd.info
valdefaults :infolist
defaults are exit code information for ok,
some_error cli_error and
internal_error.
