Module Cmdliner_term
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::cmdliner
library to any desired targets insrc/*/CMakeLists.txt
:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::cmdliner)
Click your IDE's
Build
button
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install cmdliner.1.1.1+dune
Edit your
dune-project
and add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (cmdliner (>= 1.1.1+dune))))
Then run:
dune build *.opam # if this fails, run: dune build
Edit your
<package>.opam
file 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))
type
term_escape`` = ``[
| ```
Error ``of
bool * string
| ```
Help`of`` `[`Cmdliner_manpage.format`](../Cmdliner_manpage/#type-format)` *
string option`]
type
``'a parser`` =
Cmdliner_info.Eval.t
->
Cmdliner_cline.t
->
``(
'a
, ``[ ```
Parse of string ```| `[`term_escape`](#type-term_escape)` ]
)`` ``result`
Type type for command line parser. given static information about the command line and a command line to parse returns an OCaml value.
type
``'a t`` =
Cmdliner_info.Arg.Set.t
*
'a
parser
The type for terms. The list of arguments it can parse and the parsing function that does so.
val
const :
'a
->
'a
t
type
``'a ret`` = ``[
| ```
Ok ``of
'a
|
term_escape
]
val
term_result : ``?usage:bool
->
``(
'a
, ``[ ```
Msg of string ``` ])
[
result](../../ocaml/Stdlib/#type-result)
[
t](#type-t)
`->
'a
[
t\
](#type-t)
val
cli_parse_result : ``(
'a
, ``[ ```
Msg of string ``` ])
[
result](../../ocaml/Stdlib/#type-result)
[
t](#type-t)
`->
'a
[
t\
](#type-t)
val
main_name : ``string
t
val
choice_names : ``string list``
t