[cmake-developers] cmake -E capabilities

Robert Maynard robert.maynard at kitware.com
Thu Jun 30 14:16:05 EDT 2016


It might be worthwhile to have the version section to have an explicit
dirty key instead of having to parse the string key to find that
information out.

Also wouldn't you want server-mode to be an empty dictionary, as in
the future that would contain information like the wire format
version, etc.

On Thu, Jun 30, 2016 at 9:51 AM, Tobias Hunger <Tobias.Hunger at qt.io> wrote:
> Hello CMake Developers!
>
> As laid out in the last mail thread about daemon-mode in CMake (for your
> reference: http://public.kitware.com/pipermail/cmake-developers/2016-June/028777
> .html ), Stephen and me agreed that we needed a way for IDEs to figure out which
> generators are available to cmake and more static information built into CMake.
>
> There is actually a bug report about the need for this feature here:
> https://gitlab.kitware.com/cmake/cmake/issues/15462
>
> This is my attempt to solve the issue:
> https://github.com/hunger/CMake/commits/cmake-capabilities
>
> The output looks like this:
>> cmake -E capabilities --pretty-print
> {
>    "generators" : [
>       {
>          "extraGenerators" : [],
>          "name" : "Watcom WMake",
>          "toolSetSupport" : false
>       },
>       {
>          "extraGenerators" : [ "CodeBlocks", "CodeLite", "Eclipse CDT4", "Kate",
> "Sublime Text 2" ],
>          "name" : "Ninja",
>          "toolSetSupport" : false
>       },
>       {
>          "extraGenerators" : [
>             "CodeBlocks",
>             "CodeLite",
>             "Eclipse CDT4",
>             "KDevelop3",
>             "Kate",
>             "Sublime Text 2"
>          ],
>          "name" : "Unix Makefiles",
>          "toolSetSupport" : false
>       }
>    ],
>    "server-mode" : false,
>    "version" : {
>       "major" : 3,
>       "minor" : 6,
>       "patch" : 20160630,
>       "string" : "3.6.20160630-g2c759-dirty"
>    }
> }
>
> This is running on my Linux machine.
>
> What do you think? What else should we report here?
>
> Compared to the bug report mentioned above the fields "multiconfig" and
> "recursive" are missing. I could not figure out how to get that information:-/
>
> I could also not yet figure out a way to retrieve information on supported
> platforms and toolsets. At least I did get whether a generator supports
> toolsets, but nothing similar seems to exist for the platform part.
>
> Does anyone have an idea how I could retrieve this information?
>
> I would also welcome some code review on the patch. The remaining items on my
> server-mode todo list are all about removing similar information from the
> server-mode commands:-)
>
> Best Regards,
> Tobias
>
> --
> Tobias Hunger, Senior Software Engineer | The Qt Company
> The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
> Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho. Sitz der
> Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake-developers


More information about the cmake-developers mailing list