Module Cmdliner_info.Arg
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
absence`` =
|
Err
(* an error is reported.
*)
|
Val
of
``string
Stdlib.Lazy.t
(* if <> "", takes the given default value.
*)
|
Doc
of
string
(* if <> "", a doc string interpreted in the doc markup language.
*)
The type for what happens if the argument is absent from the cli.
type
opt_kind`` =
|
Flag
(* without value, just a flag.
*)
|
Opt
(* with required value.
*)
|
Opt_vopt
of
string
(* with optional value, takes given default.
*)
The type for optional argument kinds.
type
pos_kind
val
pos : ``rev:bool
->
``start:int
->
``len:``int option``
->
pos_kind
val
pos_rev :
pos_kind
->
bool
val
pos_start :
pos_kind
->
int
val
pos_len :
pos_kind
->
``int option
type
t
val
id :
t
->
int
val
deprecated :
t
->
``string option
val
doc :
t
->
string
val
docv :
t
->
string
val
docs :
t
->
string
val
opt_names :
t
->
``string list
val
opt_name_sample :
t
->
string
val
is_opt :
t
->
bool
val
is_pos :
t
->
bool
val
is_req :
t
->
bool