Module Cmdliner_eval
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))
Evaluating commands
type
``'a eval_ok`` = ``[
| ```
Ok ``of
'a
| ```
Version ``
| ```
Help ``]
type
eval_error`` = ``[
| ```
Parse ``
| ```
Term ``
| ```
Exn ``]
val
eval_value : ``?help:
Stdlib.Format.formatter
->
``?err:
Stdlib.Format.formatter
->
``?catch:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
'a
Cmdliner_cmd.t
->
``(
'a
eval_ok
,
eval_error
)``
result
val
eval_peek_opts : ``?version_opt:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
'a
Cmdliner_term.t
->
'a
option`` * ``(
'a
eval_ok
,
eval_error
)``
result
val
eval : ``?help:
Stdlib.Format.formatter
->
``?err:
Stdlib.Format.formatter
->
``?catch:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
``?term_err:int
->
``unit
Cmdliner_cmd.t
->
Cmdliner_info.Exit.code
val
eval' : ``?help:
Stdlib.Format.formatter
->
``?err:
Stdlib.Format.formatter
->
``?catch:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
``?term_err:int
->
``int
Cmdliner_cmd.t
->
Cmdliner_info.Exit.code
val
eval_result : ``?help:
Stdlib.Format.formatter
->
``?err:
Stdlib.Format.formatter
->
``?catch:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
``?term_err:
Cmdliner_info.Exit.code
->
``(unit, string)``
result
Cmdliner_cmd.t
->
Cmdliner_info.Exit.code
val
eval_result' : ``?help:
Stdlib.Format.formatter
->
``?err:
Stdlib.Format.formatter
->
``?catch:bool
->
``?env:``(``string
->
``string option``)``
->
``?argv:``string array``
->
``?term_err:
Cmdliner_info.Exit.code
->
``(
Cmdliner_info.Exit.code
, string)``
result
Cmdliner_cmd.t
->
Cmdliner_info.Exit.code