[cmake-developers] cmake -E capabilities

Brad King brad.king at kitware.com
Thu Jul 14 10:44:56 EDT 2016


On 07/11/2016 10:13 AM, Tobias Hunger wrote:
> https://github.com/hunger/CMake/commits/cmake-capabilities
> 
> is in a state now that could use another review.

Thanks.  I've applied the infrastructure update commits after
making a few minor fixes and merged to `next` for testing:

 Make CMake version suffix available to code
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6a077b5d

 Make CMake version dirty state available to code
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=af0e1cd4

 cmGlobalGeneratorFactory: Use CM_OVERRIDE for all derived classes
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=43a68a6d

 CMake: Report whether generators support platforms
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4db08807

Please rebase the rest on those, at least once they are in `master`.

> This now creates extra generators (all of them), which does not seem to effect
> run time of cmake -E capabilities by much on Linux. I have not tested this on
> Windows/Mac though as I do not have those platforms handy.
> 
> If that is not acceptable, then some string-parsing is going to be necessary.
> I'd move that into cmake::GetRegisteredGenerators, where it is more of an
> implementation detail than in the code that actually handles the capability
> reporting.

The extra generator registration currently adds only the name and
a pointer to the `New` function as meta-data.  One could expand that
to provide a whole "extra generator factory" object that has method
that calls `New` as well as other meta-data that we need for the
capabilities query.

Thanks,
-Brad



More information about the cmake-developers mailing list