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

Peter Collingbourne peter at pcc.me.uk
Fri Nov 14 10:57:24 EST 2014


On Wed, Nov 05, 2014 at 06:35:25PM -0500, Ben Boeckel wrote:
> 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.

Okay, I've renamed the new flag to 'USES_TERMINAL' and merged to next.

Thanks,
-- 
Peter


More information about the cmake-developers mailing list