[CMake] Generic XML output file of project heirarchy

Michael Jackson mike.jackson at bluequartz.net
Tue Nov 18 10:48:33 EST 2014


Anything that is "Parsable". So XML or JSON is fine. I am working a QtCreator bug** that started out as QtCreator not being able to bring in the proper Framework directories on OS X. As I investigated the root cause, it is my belief that the CodeBlocks file that QtCreator has CMake generate in order to parse is, at its root, in-adequate for what QtCreator needs to most efficiently generate a project from a CMake based project.

Now, I could go down the road of trying to get a specific QtCreator Generator put into cmake (as has been discussed in the past). QtCreators "native" project format is qmake files. So this turns into a CMake->qmake translator which I think is intractable. But if CMake could generate the hierarchy of projects in some format that can be parsed by Qt (XML or JSON) or anything else really, I think this might be a powerful type of file to output. Other things like the ".dot" file output could be generated, maybe insights into a projects complexity could be revealed? Dunno. I was just thinking that this does not have to be a QtCreator Specific solution, but a more general file could be output.

Cheers
Mike Jackson

**https://bugreports.qt-project.org/browse/QTCREATORBUG-13432

On Nov 18, 2014, at 10:37 AM, David Cole <DLRdave at aol.com> wrote:

> This sounds pretty similar to the recent mailing list discussions
> about the json file listing targets and properties of them at generate
> time.
> 
> What would be the point? Just to look at the file as a human to see
> what's in it? Or would you use it for something else...?
> 
> On Tue, Nov 18, 2014 at 9:25 AM, Michael Jackson
> <mike.jackson at bluequartz.net> wrote:
>> Has there ever been any interest in CMake producing a generic "XML" (or some other file format) file that lays out the project structure. I envision this to be a "Generator" that has elements of the CodeBlocks and Eclipse style of project setup but groups things together a bit more? So for each target one would list the source files, the include directories, the name of the target, special target properties? I guess one could base it on Unix Makefiles and have the "make command" that would be used to actually build the project? Is there something already in CMake that I am missing perhaps?
>> 
>> Thoughts?
>> 
>> Thanks
>> Mike Jackson
>> 
>> --
>> 
>> 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



More information about the CMake mailing list