[CMake] Developing an externally usable API for CMake

Matt Rogers mattr at kde.org
Wed Aug 2 19:28:03 EDT 2006


On Wednesday 02 August 2006 10:05, you wrote:
> Matt Rogers wrote:
> > As suggested, I've copied most of CMake's code into the KDevelop 4
> > codebase for use in the cmake integration. However, I'd really love to
> > have an external library of some sort that I can link against rather than
> > having to keep up with CMake's code. This leads to a few questions I
> > have:
> >
> > 1. Would the CMake developers be willing to provide guidance, accept
> > patches, etc. for such a thing? I would be more than willing to work on
> > it, assign copyright to Kitware, whatever is needed.
> >
> > 2. Are there any specs the CMake folks would like me to follow? I have an
> > idea of what I want for KDevelop's purposes in the API. I'll share this a
> > bit later once I get that stuff off the other machine.
>
> We don't want to maintain a public API for the internal implementation
> of CMake.  Maintaining an application is much easier than maintaining a
> library.  However we could consider having a private API specifically
> for KDevelop itegration if you are willing to maintain it.
>

I am open to this idea. How would it work, exactly?

> > Rationale:  CMake supporting KDevelop 3 with a generator is great.
> > However, for the level of integration that I want to provide between
> > CMake and KDevelop 4, I don't believe a generator will be able to do a
> > good enough job. That is the reason I'm pushing so hard for an API of
> > some sort that I can use to get information from the CMakeLists.txt
> > files.
>
> What kind of information do you need?  What is an example feature in
> KDevelop that would intereact with CMakeLists.txt files?
>
> -Brad

Everything. I get information on what the source files are, what's being built 
in the way of binaries and libraries, etc. Target dependencies will 
eventually be pulled in (what libraries are linked with the target, the 
definitions used in the directory, etc.) Basically, whatever 
CMake/CPack/CTest supports, KDevelop will support (eventually).
--
Matt


More information about the CMake mailing list