#!/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()));
































