Search code examples
bjamboost-build

Disabling unit-test compilation in Boost.Build


Boost.Build documentation is quite laconic when it comes to testing.

All tests in my project are defined using unit-test rule.

The only property mentioned, by the documentation, is testing.launcher, but that can only disable tests' execution when set to testing.launcher=true.

How to completely disable compilation of unit-test rules? I would like to do that temporarily, for example, by setting a property from commandline. I could not find any information how to do that or any reference documentation for other testing.* properties.


Solution

  • As I read most of the Boost.Build documentation and the relevant part of its code I found no way to temporary disable building specific rule or the set of targets (for example by matching tests' targets with a regular expression).

    It is, also, worth noting, that unit-test was deprecated in favor of the new testing rules: run, run-fail, compile, compile-fail, link, link-fail.

    Now, probably, I'm going to create my own rule, as in @GrafikRobot's answer, but instead of making the target explicit I will make the rule empty in the presence of a certain feature.