#!/usr/bin/env python3

from os import environ, path
from subprocess import run
from argparse import ArgumentParser
from shutil import copy

parser = ArgumentParser()
parser.add_argument("build_root")
parser.add_argument("source_root")
parser.add_argument("output")
parser.add_argument("profile")
parser.add_argument("project_name")
args = parser.parse_args()

environ["CARGO_TARGET_DIR"] = path.join(args.build_root, "target")
environ["CARGO_HOME"] = path.join(args.build_root, "cargo-home")

cargo_toml_path = path.join(args.source_root, "Cargo.toml")

if args.profile == "Devel":
    print("DEBUG MODE")
    run(
        [
            "cargo",
            "build",
            "--manifest-path",
            cargo_toml_path,
        ],
        check=True,
    )
    build_dir = path.join(environ["CARGO_TARGET_DIR"], "debug", args.project_name)
    copy(build_dir, args.output)
else:
    print("RELEASE MODE")
    run(
        [
            "cargo",
            "build",
            "--manifest-path",
            cargo_toml_path,
            "--release",
        ],
        check=True,
    )
    build_dir = path.join(environ["CARGO_TARGET_DIR"], "release", args.project_name)
    copy(build_dir, args.output)