[CMake] Eclipse CMake Generator - Pre-Alpha version

Miguel A. Figueroa-Villanueva miguelf at ieee.org
Tue Jul 31 00:22:37 EDT 2007


Hello Everyone,

Recently there has been discussion on the list about the Eclipse IDE
(or whatever it is; platform maybe ;) ) and CMake.

http://www.cmake.org/pipermail/cmake/2007-July/015294.html
http://www.cmake.org/pipermail/cmake/2007-July/015434.html

So, I don't know much about Eclipse (i.e., I started using it last
week) and very little about CMake Generator development, but I still
gave it a shot at developing an Eclipse Generator. I have an
implementation which I'm sure is missing many things and is in need of
much refactoring, but I used it to compile, edit, and debug CMake
source files (the actual generator stuff) with the project created by
it for Eclipse.

The rest of this message is divided into two parts. First, I'm
requesting guidance and support from the community and the CMake
developers, and the second one is just my points of views on the
previous discussions about a CMake Plugin for Eclipse.

Guidance and support:
================

1. Are the CMake developers interested in this (i.e., will they accept
the patches)? If so, how should I coordinate this development. I don't
think patches through the bug tracker will be appropriate for this
given the rate of change it is likely to have. Limited cvs access
would be best, or maybe through a wiki entry until it matures. Then
the bug tracker would suffice.

So far, I have modified only cmake.cxx to add the extra generator
handle [this->AddExtraGenerator(...)], the CMakeLists.txt file to add
the two new files, and the two new files themselves:

  Source/cmExtraEclipseGenerator.cxx
  Source/cmExtraEclipseGenerator.h

2. As I mentioned, I'm new to Eclipse so, I don't know how people use
it. I need volunteers to test the generator and let me know what
things don't work as expected. Basically, I'm "reverse engineering"
the .project/.cproject files to create the generator. So, in many
cases I just don't have examples of more complex scenarios.

Note that this is a simple generator (an extra generator), since it
relies on the "Unix Makefiles" generator to handle all the difficult
issues. So, I'm not looking to provide a generator for eclipse that
will create a managedmakefile project; at least not at this point. I
am looking to implement the Eclipse generator on top of the MinGW,
MSYS, and maybe NMake (depending on the Eclipse CDT support for it).

Opinion on the CMake plugin discussion:
==============================

So far, it seems to me that the discussion has been steering in the
opposite direction from what I actually thought was more useful and
what I implemented. That is, a CMake generator rather than an Eclipse
plugin.

What I want is to be able to download a project with CMakeLists.txt
files in it and create an out-of-source build that I can open in
eclipse and start hacking away. Of course, it would be nice if we
could convince the Eclipse CDT developers of how useful cmake really
is and that way enlist them to help us out when we need questions
answered and fixes/modifications to their plugin so that cmake can
generate useful .project/.cproject files easier. Much like CMake
opened up for KDE (of course, those were opposite roles...). But then
again, how much interest does Microsoft have in CMake, or how much do
they invest in it? However, I would never go back to creating Visual
Studio projects from scratch, nor any other build system for that
matter! Kudos to the CMake crew!! ;)

Now, I think it doesn't matter what the Eclipse developers nor the
Eclipse CDT developers think about CMake... In the end, it's what the
C/C++ developers using Eclipse as their development platform think
about CMake, whether or not the underlying format for the Eclipse
project files is open or not (which it is of course) so that we can
create the generator for it, and whether Eclipse CDT imports already
existing projects nicely (which it does).

BTW, there is a CMake plugin for eclipse that helps in editing
CMakeLists.txt and *.cmake files. It provides syntax coloring, full
content assist and integrates the CMake command reference
documentation into the Eclipse Help system.

Just some thoughts on the matter...

--Miguel


More information about the CMake mailing list