aboutsummaryrefslogtreecommitdiff
path: root/build2/b.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/b.cxx')
-rw-r--r--build2/b.cxx21
1 files changed, 15 insertions, 6 deletions
diff --git a/build2/b.cxx b/build2/b.cxx
index f2e45c3..1098da9 100644
--- a/build2/b.cxx
+++ b/build2/b.cxx
@@ -1186,8 +1186,11 @@ main (int argc, char* argv[])
// Run quiet.
//
- if (mif->match != nullptr) mif->match (mparams, a, tgs);
- if (mif->execute != nullptr) mif->execute (mparams, a, tgs, true);
+ if (mif->match != nullptr)
+ mif->match (mparams, a, tgs);
+
+ if (mif->execute != nullptr && !ops.match_only ())
+ mif->execute (mparams, a, tgs, true);
if (mif->operation_post != nullptr)
mif->operation_post (mparams, pre_oid);
@@ -1200,8 +1203,11 @@ main (int argc, char* argv[])
action a (mid, oid, 0);
- if (mif->match != nullptr) mif->match (mparams, a, tgs);
- if (mif->execute != nullptr) mif->execute (mparams, a, tgs, verb == 0);
+ if (mif->match != nullptr)
+ mif->match (mparams, a, tgs);
+
+ if (mif->execute != nullptr && !ops.match_only ())
+ mif->execute (mparams, a, tgs, verb == 0);
if (post_oid != 0)
{
@@ -1217,8 +1223,11 @@ main (int argc, char* argv[])
// Run quiet.
//
- if (mif->match != nullptr) mif->match (mparams, a, tgs);
- if (mif->execute != nullptr) mif->execute (mparams, a, tgs, true);
+ if (mif->match != nullptr)
+ mif->match (mparams, a, tgs);
+
+ if (mif->execute != nullptr && !ops.match_only ())
+ mif->execute (mparams, a, tgs, true);
if (mif->operation_post != nullptr)
mif->operation_post (mparams, post_oid);