[CMake] [PATCH] kdevelop3 generator, 2nd version

Alexander Neundorf a.neundorf-work at gmx.net
Tue Oct 12 13:18:23 EDT 2004


Hi, 
 
I just updated cmake form cvs and found the kdevelop generator 
included :-) 
 
> > 1. Move logic to cmGlobalKDevelopGenerator  
>   
> >Hmm, how ?  
>   
>  
> Right now in your local generator you read and write a file to build 
> up a list of all files in the project. 
>  
> Basically, there does not need to be a local kdevlop generator at all, 
> it can just use the unix makefile one.  Then in the global generators 
> Generate method you do something like this: 
>  
>   unsigned int i; 
>   for(i = 0; i < m_LocalGenerators.size(); ++i) 
>     { 
>      // Get list of targets and sources from local generator i 
>      // add them to a file map like you do now in the local generator 
>     } 
>  
>  // now write out the     Project.filelist file and Project.kdevlop  
> files 
>  
> IT should most likely do the same thing as the visual studio generators 
> and write out all the sub-projects as well.  And also honor the exclude 
> from above option. 
 
I will have a look at it. 
 
> I guess at the end of the day it should do something like this: 
> TopProject.kdevelop 
> TopProject.kdevelop.filelist 
> SubProject/SubProject.kdevelop 
> SubProject/SubProject.kdevelop.filelist 
 
I'd say 
 
source/Project.kdevelop.filelist 
source/Project_sub.kdevelop.filelist 
build/Project.kdevelop 
build/sub/Project_sub.kdevelop 
 
Otherwise it won't work (see below). 
 
> if SubProject was in a SUBDIR(EXCLUDE_FROM_ALL SubProject) 
> then its files should not be in TopProject.filelist. 
>  
> Right now if you use the kdevlop generator on CMake you get these 
files: 
>  
> $ find . -name "*kdev*" 
> ./CMake.kdevelop 
> ./CMake.kdevelop.filelist 
> ./Source/CMake.kdevelop 
> ./Source/CTest/Curl/CMake.kdevelop 
> ./Source/CursesDialog/form/CMake.kdevelop 
> ./Source/kwsys/CMake.kdevelop 
> ./Utilities/CMake.kdevelop 
> ./Utilities/cmexpat/CMake.kdevelop 
>  
> The top level project is ok, but don't think the others work, 
> and they have the wrong names. 
 
Yes, as it is now in cvs it doesn't work. 
I tried here with kdevelop 3.0.0 and KDE 3.2.1. 
KDevelop only shows files with relative paths and these paths may not go 
upwards (../something/). 
By giving the project files everywhere the same name all kdevelop 
projects use the same foo.kdevelop.filelist file, which is not optimal 
I'd say and more important it doesn't work. 
So, this will only work if the foo.kdevelop.filelist file is generated in 
the top source directory (as it did in my patch). 
 
Bye 
Alex 
 

-- 
+++ GMX DSL Premiumtarife 3 Monate gratis* + WLAN-Router 0,- EUR* +++
Clevere DSL-Nutzer wechseln jetzt zu GMX: http://www.gmx.net/de/go/dsl



More information about the CMake mailing list