Skip to content

Commit 521c580

Browse files
committed
DEV: Update spin to accept arguments of meson compile and meson install
1 parent 5cbb90a commit 521c580

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

spin/cmds/meson.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ def build(
283283
quiet=False,
284284
build_dir=None,
285285
prefix=None,
286+
meson_compile_args=tuple(),
287+
meson_install_args=tuple(),
286288
):
287289
"""🔧 Build package with Meson/ninja
288290
@@ -328,12 +330,12 @@ def build(
328330
)
329331
return
330332

331-
meson_args = list(meson_args)
333+
meson_args_setup = list(meson_args)
332334

333335
if gcov:
334-
meson_args = meson_args + ["-Db_coverage=true"]
336+
meson_args_setup = meson_args_setup + ["-Db_coverage=true"]
335337

336-
setup_cmd = _meson_cli() + ["setup", build_dir, f"--prefix={prefix}"] + meson_args
338+
setup_cmd = _meson_cli() + ["setup", abs_build_dir, "--prefix={}".format(abs_install_dir)] + meson_args_setup
337339

338340
if clean:
339341
print(f"Removing `{build_dir}`")
@@ -360,15 +362,18 @@ def build(
360362

361363
# Any other conditions that warrant a reconfigure?
362364

365+
meson_compile_args = list(meson_compile_args)
363366
compile_flags = ["-v"] if verbose else []
364367
if jobs:
365368
compile_flags += ["-j", str(jobs)]
366369

367370
p = _run(
368-
_meson_cli() + ["compile"] + compile_flags + ["-C", build_dir],
371+
_meson_cli() + ["compile"] + compile_flags + ["-C", build_dir] + meson_compile_args,
369372
sys_exit=True,
370373
output=not quiet,
371374
)
375+
376+
meson_install_args = list(meson_install_args)
372377
p = _run(
373378
_meson_cli()
374379
+ [
@@ -380,7 +385,7 @@ def build(
380385
install_dir
381386
if os.path.isabs(install_dir)
382387
else os.path.relpath(abs_install_dir, abs_build_dir),
383-
],
388+
] + meson_install_args,
384389
output=(not quiet) and verbose,
385390
)
386391

0 commit comments

Comments
 (0)