From 01a3fda266073b58a4de6dd61417bb2d0e3ecf9e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 17 Sep 2015 13:52:35 +0200 Subject: Add run_b() function to run build2 --- bpkg/utility.cxx | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'bpkg/utility.cxx') diff --git a/bpkg/utility.cxx b/bpkg/utility.cxx index d9e0413..b122545 100644 --- a/bpkg/utility.cxx +++ b/bpkg/utility.cxx @@ -150,5 +150,39 @@ namespace bpkg } } + void + run_b (const string& bspec, const strings& vars) + { + cstrings args {"b"}; + + // Map verbosity level. If we are running quiet or at level 1, + // then run build2 quiet. Otherwise, run it at the same level + // as us. + // + string vl; + if (verb <= 1) + args.push_back ("-q"); + else if (verb == 2) + args.push_back ("-v"); + else + { + vl = to_string (verb); + args.push_back ("--verbose"); + args.push_back (vl.c_str ()); + } + + // Add config vars. + // + for (const string& v: vars) + args.push_back (v.c_str ()); + + // Add buildspec. + // + args.push_back (bspec.c_str ()); + + args.push_back (nullptr); + run (args); + } + bool exception_unwinding_dtor = false; } -- cgit v1.1