[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