[CMake] Eclipse CDT4 CMake Generator - Pre-Alpha version
Alexander Neundorf
a.neundorf-work at gmx.net
Tue Jul 31 14:14:35 EDT 2007
Hi Miguel,
On Tuesday 31 July 2007 13:42, Miguel A. Figueroa-Villanueva wrote:
> On 7/31/07, Alexander Neundorf wrote:
> > On Tuesday 31 July 2007 09:51, you wrote:
> > ...
> >
> > > Great! If you personally think this is good and can review/apply the
> > > patches relatively quickly then that will work well for me. What I was
> > > worried about was that I open a feature request and, understandably
> > > so, it sits there to be taken care according to everyone's busy
> > > schedule...
> > >
> > > I sent the patch to the list last night, but it rejected the e-mail
> > > because it was too big... I'll now clean up the code according to the
> > > coding style and resend with cc to you. This time tared and zipped, so
> > > it shouldn't have a problem.
> >
> > Thanks :-)
>
> Attached is the file. I changed some variable names and other minor
> things, but I'm not certain it follows all the coding standards. I
> leave that to your inspection, although please point out whatever you
> find that you needed to fix for my future reference.
It looks quite good :-)
The indentation is not completely correct:
if (!fout) { return; }
if(emmited.find(t->first) == emmited.end())
{
emmited.insert(t->first);
this->AppendTarget(fout, t->first);
}
should be (indented braces)
if (!fout)
{
return;
}
if(emmited.find(t->first) == emmited.end())
{
emmited.insert(t->first);
this->AppendTarget(fout, t->first);
}
How do you handle the cmake projects ? You iterate over the map, which effect
does this have ?
From the header:
enum ToolChainType { OTHER, LINUX, CYGWIN, MINGW, SOLARIS, MACOSX };
I would prefer more specific names, e.g. prefixing them
with "EclipseToolchain", so that you have EclipseToolchainCygwin etc.
One thing which would be nice is if you would also put the include directories
in the project files, I think this is required for autocompletion. You can
get them via cmMakefile::GetIncludeDirectories().
Do you already setup up running and debugging ?
I don't know how this works with Eclipse, for KDevelop I put the first
executable target I found in the entry where it expects the executable to be
debugged.
Can you tell Eclipse to open a file when the project is loaded the first
time ? Looks much friendlier then. If this is possible, just use the first
source file or the first main.* file you find.
For the KDevelop generator I implemented a simple logic which reads the
project files it created on a previous cmake run (and which may have been
modified in the meantime by kdevelop) and just modifies what it needs to
change, so user changes (like which plugins to load, source control config
etc.) stay unchanged.
Bye
Alex
More information about the CMake
mailing list