diff --git a/src/main/dune b/src/main/dune index 3517dfae..689f2e91 100644 --- a/src/main/dune +++ b/src/main/dune @@ -8,4 +8,15 @@ sidekick.msat-solver sidekick-bin.smtlib) (flags :standard -safe-string -color always -open Sidekick_util)) +(rule + (targets sidekick_version.ml) + (deps (universe)) + (mode promote) + (action + (with-stdout-to %{targets} + (progn + (echo "let version = {git|") + (run git rev-parse HEAD) + (echo "|git}"))))) + (ocamllex (modules Dimacs_lexer)) diff --git a/src/main/main.ml b/src/main/main.ml index 121fac92..f22e3185 100644 --- a/src/main/main.ml +++ b/src/main/main.ml @@ -78,6 +78,7 @@ let argspec = Arg.align [ "--no-p", Arg.Clear p_progress, " no progress bar"; "--size", Arg.String (int_arg size_limit), " [kMGT] sets the size limit for the sat solver"; "--time", Arg.String (int_arg time_limit), " [smhd] sets the time limit for the sat solver"; + "--version", Arg.Unit (fun () -> Printf.printf "version: %s\n%!" Sidekick_version.version; exit 0), " show version and exit"; "-d", Arg.Int Msat.Log.set_debug, " sets the debug verbose level"; "--debug", Arg.Int Msat.Log.set_debug, " sets the debug verbose level"; ] |> List.sort compare