diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-10-15 11:52:07 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:21 +0200 |
commit | 75665dbe87b97c965eeb5f32b86f526ea8726436 (patch) | |
tree | 9cac7ac5e4974e35359e1533b512d85752a01fc1 | |
parent | a81154d0cbfaa9ee5fd0be049a44e0254ccc98b9 (diff) |
Change test variable type from bool to path
We still recognize the true/false as special values.
-rw-r--r-- | build2/test/init.cxx | 5 | ||||
-rw-r--r-- | build2/test/rule.cxx | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/build2/test/init.cxx b/build2/test/init.cxx index 69570fd..e7798ec 100644 --- a/build2/test/init.cxx +++ b/build2/test/init.cxx @@ -39,9 +39,10 @@ namespace build2 { auto& v (var_pool); - // Note: none are overridable. + // Note: none are overridable. The test variable is a path with the + // true/false special values. // - v.insert<bool> ("test", variable_visibility::target); + v.insert<path> ("test", variable_visibility::target); v.insert<name> ("test.input", variable_visibility::project); v.insert<name> ("test.output", variable_visibility::project); v.insert<name> ("test.roundtrip", variable_visibility::project); diff --git a/build2/test/rule.cxx b/build2/test/rule.cxx index c133698..f48a3d1 100644 --- a/build2/test/rule.cxx +++ b/build2/test/rule.cxx @@ -55,7 +55,7 @@ namespace build2 // explicitly set to false. // lookup l (t["test"]); - md.test = !l || cast<bool> (l); + md.test = !l || cast<path> (l).string () != "false"; } else { @@ -69,7 +69,7 @@ namespace build2 // auto p (t.find ("test")); - if (p.first && cast<bool> (p.first)) + if (p.first && cast<path> (p.first).string () != "false") md.test = true; else { |