[cmake-developers] [wip/patch] Expose Ninja console pool feature for custom commands/targets

Ben Boeckel ben.boeckel at kitware.com
Wed Nov 5 18:35:25 EST 2014


On Wed, Nov 05, 2014 at 15:03:02 -0800, Peter Collingbourne wrote:
> On Wed, Nov 05, 2014 at 04:49:52PM -0500, Ben Boeckel wrote:
> > For the testing of it, since only Ninja supports it, maybe it would be
> > possible to run a program which exits testing for isatty(STDIN_FILENO)
> > or isatty(STDOUT_FILENO).
> 
> I considered that, and indeed this is how I tested the console pool feature
> in Ninja's test suite [1]. (That test disables itself if the test suite
> itself does not have access to the console.)
> 
> The problem is that CTest does not give Ninja direct access to the console,
> so a test like the one Ninja uses wouldn't work, or at least it wouldn't
> provide coverage if the test suite is invoked in the normal way. I don't know
> enough about CTest to know if there is some way to get it to pass through
> console access.

Hrm. Forgot about that :( . The best I can think of is to have certain
dashboards run it separately, but that means we still need some way to
get it to the dashboard and for it *not* to run on the other dashboards
as a always-fail (maybe WILL_FAIL TRUE to make sure it actually
*detects* it?). Anyways, I wouldn't worry about it too much due to the
many issues.

> I would rather keep things simple and have this flag always be
> opportunistic. Remember that the build tool could be invoked with or without
> a terminal, so I would expect commands to normally do something sensible
> if it turns out not to be available. We might want to have a mechanism to
> control whether targets appear in IDEs, but that seems like it should be a
> separate feature.

Good point. It was more to get the ideas out in the air than a formal
request for change.

--Ben


More information about the cmake-developers mailing list