[CMake] Bug? Broken header files in Visual C++ 2008 project

Alexander Neundorf a.neundorf-work at gmx.net
Wed Sep 3 17:45:56 EDT 2008


On Wednesday 03 September 2008, Andreas Pakulat wrote:
> On 03.09.08 17:52:02, Alexander Neundorf wrote:
> > On Thursday 28 August 2008, Andreas Pakulat wrote:
> > > On 28.08.08 10:16:48, BRM wrote:
> >
> > ...
> >
> > > IMHO the approach to regenerate project description files for an IDE
> > > from a buildsystem tool is simply broken.
> >
> > Well, it has to. Otherwise the project file become wrong. That's not a
> > big problem for the makefile-based project generators (KDevelop, Eclipse,
> > CodeBlocks), but a real one for XCode and MSVC.
>
> Yeah, I guess I'm really just too used to proper IDE's that don't
> re-invent the wheel and separate buildsystem from project config
> properly.

Uh-oh, "proper".
I guess basically each developer of an IDE is convinced that "his" IDE does it 
the "proper" way ;-)
(you know there is also one thing in kdev4 which I wouldn't call "proper")

> > > KDevelop3 doesn't need that information at all, or rather it completely
> > > ignores the CMake files anyway.
> >
> > Which files do you mean with "the CMake files" ?
>
> Everything related to CMake, i.e. CMakeLists.txt, the stuff in the
> builddir and so on.

Ah, yes.
What would be cool would be if I could force kdevelop to reread its project 
files (... after they have been regenerated by cmake).
Is this possible maybe via DCOP ?

> > > The generator for KDevelop3 projects in CMake is ok if you want to get
> > > an initial project status, but after that you shouldn't use it anymore.
> >
> > Why ?
>
> Because it overwrites project settings that you have in the .kdevelop
> file. 

Hmm, I didn't change a lot in it since a long time, but it should (since more 
or less the beginning) not overwrite settings, which means, it should only 
overwrite the following tags:
<projectdirectory>
<projectmanagement>
<absoluteprojectpath>
<filelistdirectory>
<buildtool>
<builddir>

All other tags should be copied as they are (on disk at cmake time) into the 
new project file.
(initially, when no project file exists yet, of course a complete one is 
written).

It would be nice if you could give more details on this.

Alex


More information about the CMake mailing list