4-variable-simplifier/run
2026-04-25 16:00:10 -04:00

86 lines
1 KiB
Python
Executable file

#!/usr/bin/env python3
# vim: sw=2 ts=2 ex:
import sys;
import os;
import argparse;
from python.run import run, print_and_run;
from python.build import build;
def split_args(argv):
argv0 = argv[0];
argv = argv[1:];
for i, arg in enumerate(argv):
if arg == "--":
return argv0, argv[:i], argv[i+1:];
return argv0, argv, [];
def parseargs():
parser = argparse.ArgumentParser(description = "build command")
parser.add_argument("--build-type", "--buildtype", default = "release");
parser.add_argument("--valgrind", action = "store_true");
argv0, my_args, run_args = split_args(sys.argv);
retval = parser.parse_args(my_args);
retval.argv0 = argv0;
retval.run_args = run_args;
return retval;
def main(args):
exe = build(args);
command = (exe, *args.run_args);
if args.valgrind:
command = ("valgrind", "--exit-on-first-error=yes", ) + command;
print_and_run(command);
return 0;
exit(main(parseargs()));