GstPipelineStudio/build-aux/cargo.py
2024-01-05 11:25:03 +01:00

45 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python3
import sys
import subprocess
import os
import shutil
env = os.environ
MESON_BUILD_ROOT = sys.argv[1]
MESON_SOURCE_ROOT = sys.argv[2]
CARGO_TARGET_DIR = os.path.join(MESON_BUILD_ROOT, "target")
env["CARGO_TARGET_DIR"] = CARGO_TARGET_DIR
env["CARGO_HOME"] = os.path.join(CARGO_TARGET_DIR, "cargo-home")
OUTPUT = sys.argv[3]
BUILDTYPE = sys.argv[4]
APP_BIN = sys.argv[5]
env["PKG_CONFIG_PATH"] = (
os.path.join(MESON_BUILD_ROOT, "meson-uninstalled")
+ os.pathsep
+ env.get("PKG_CONFIG_PATH", "")
)
if BUILDTYPE == "release":
print("RELEASE MODE")
CMD = [
"cargo",
"build",
"--manifest-path",
os.path.join(MESON_SOURCE_ROOT, "Cargo.toml"),
"--release",
]
subprocess.run(CMD, env=env)
shutil.copy2(os.path.join(CARGO_TARGET_DIR, "release", APP_BIN), OUTPUT)
else:
print("DEBUG MODE")
CMD = [
"cargo",
"build",
"--manifest-path",
os.path.join(MESON_SOURCE_ROOT, "Cargo.toml"),
]
subprocess.run(CMD, env=env)
shutil.copy2(os.path.join(CARGO_TARGET_DIR, "debug", APP_BIN), OUTPUT)