aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bdep/clean.hxx10
-rw-r--r--bdep/common.cli11
-rw-r--r--bdep/test.hxx3
-rw-r--r--bdep/update.hxx10
4 files changed, 32 insertions, 2 deletions
diff --git a/bdep/clean.hxx b/bdep/clean.hxx
index 35b37aa..f64c1ef 100644
--- a/bdep/clean.hxx
+++ b/bdep/clean.hxx
@@ -19,7 +19,15 @@ namespace bdep
const cstrings& pkgs,
const strings& cfg_vars)
{
- run_bpkg (2, o, "clean", "-d", c->path, cfg_vars, pkgs);
+ run_bpkg (2,
+ o,
+ (o.jobs_specified ()
+ ? strings ({"-j", to_string (o.jobs ())})
+ : strings ()),
+ "clean",
+ "-d", c->path,
+ cfg_vars,
+ pkgs);
}
inline int
diff --git a/bdep/common.cli b/bdep/common.cli
index eb9c6ec..8ab4b8e 100644
--- a/bdep/common.cli
+++ b/bdep/common.cli
@@ -79,6 +79,17 @@ namespace bdep
\li|Even more detailed information.||"
}
+ size_t --jobs|-j
+ {
+ "<num>",
+ "Number of jobs to perform in parallel. If this option is not
+ specified or specified with the \c{0} value, then the number of
+ available hardware threads is used. This option is also propagated
+ when executing package manager commands such as \l{bpkg-pkg-update(1)},
+ \l{bpkg-pkg-test(1)}, etc., which in turn propagate it to the build
+ system."
+ }
+
path --bpkg
{
"<path>",
diff --git a/bdep/test.hxx b/bdep/test.hxx
index 33fbd8e..382fe85 100644
--- a/bdep/test.hxx
+++ b/bdep/test.hxx
@@ -21,6 +21,9 @@ namespace bdep
{
run_bpkg (2,
o,
+ (o.jobs_specified ()
+ ? strings ({"-j", to_string (o.jobs ())})
+ : strings ()),
"test",
"-d", c->path,
(o.immediate () ? "--immediate" :
diff --git a/bdep/update.hxx b/bdep/update.hxx
index d79c7b2..36ce8da 100644
--- a/bdep/update.hxx
+++ b/bdep/update.hxx
@@ -19,7 +19,15 @@ namespace bdep
const cstrings& pkgs,
const strings& cfg_vars)
{
- run_bpkg (2, o, "update", "-d", c->path, cfg_vars, pkgs);
+ run_bpkg (2,
+ o,
+ (o.jobs_specified ()
+ ? strings ({"-j", to_string (o.jobs ())})
+ : strings ()),
+ "update",
+ "-d", c->path,
+ cfg_vars,
+ pkgs);
}
inline int