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:

  1. Add the following to your project's dependencies/CMakeLists.txt:

    Copy
    DkSDKProject_DeclareAvailable(cmdliner
        CONSTRAINT "= 1.1.1+dune"
        FINDLIBS cmdliner)
    DkSDKProject_MakeAvailable(cmdliner)
  2. Add the Findlib::cmdliner library to any desired targets in src/*/CMakeLists.txt:

    Copy
    target_link_libraries(YourPackage_YourLibraryName
         # ... existing libraries, if any ...
         Findlib::cmdliner)
  3. Click your IDE's Build button

Not using DkSDK?

FIRST, do one or all of the following:

  1. Run:

    Copy
    opam install cmdliner.1.1.1+dune
  2. Edit your dune-project and add:

    Copy
    (package
      (name YourExistingPackage)
      (depends
      ; ... existing dependenices ...
      (cmdliner (>= 1.1.1+dune))))

    Then run:

    Copy
    dune build *.opam # if this fails, run: dune build
  3. Edit your <package>.opam file and add:

    Copy
    depends: [
      # ... existing dependencies ...
      "cmdliner" {>= "1.1.1+dune"}
    ]

    Then run:

    Copy
    opam install . --deps-only

FINALLY, add the cmdliner library to any desired (library)and/or (executable) targets in your **/dune files:

Copy
(library
  (name YourLibrary)
  ; ... existing library options ...
  (libraries
    ; ... existing libraries ...
    cmdliner))

(executable
  (name YourExecutable)
  ; ... existing executable options ...
  (libraries
    ; ... existing libraries ...
    cmdliner))
typeabsence`` =
| Err

(* an error is reported.

*)

| Val of``stringStdlib.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.

typeopt_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
valpos : ``rev:bool->``start:int->``len:``int option``-> pos_kind
valpos_rev :pos_kind -> bool
valpos_start :pos_kind -> int
valpos_len :pos_kind -> ``int option
type t
valv : ``?deprecated:string->``?absent:string->``?docs:string->``?docv:string->``?doc:string-> ``?env:Env.info ->``string list``-> t
valid :t -> int
valdeprecated :t -> ``string option
valabsent :t -> absence
valenv :t -> Env.info option
valdoc :t -> string
valdocv :t -> string
valdocs :t -> string
valopt_names :t -> ``string list
valopt_name_sample :t -> string
valopt_kind :t -> opt_kind
valpos_kind :t -> pos_kind
valmake_req :t -> t
valmake_all_opts :t -> t
val make_opt : ``absent:absence -> ``kind:opt_kind -> t -> t
val make_opt_all : ``absent:absence -> ``kind:opt_kind -> t -> t
val make_pos : ``pos:pos_kind -> t -> t
val make_pos_abs : ``absent:absence -> ``pos:pos_kind -> t -> t
valis_opt :t -> bool
valis_pos :t -> bool
valis_req :t -> bool
valpos_cli_order :t -> t -> int
valrev_pos_cli_order :t -> t -> int
valcompare :t -> t -> int
module Set:Set.S with type elt=t