[Cmake] CMake and KDevelop

William A. Hoffman billlist at nycap.rr.com
Fri Sep 3 11:09:41 EDT 2004



>Ok, I should have thought a bit about if before replying. 
>kdevelop doesn't feature an own build system, you can import makefile-based
>projects 
>(then "compile" will call make), there you have to add the source files
>manually and 
>you can create projects. These created projects are usually auto*-projects
>or 
>qmake-projects.  
>Just creating a kdevelop-project file isn't enough, it still needs a build
>system. 
>OTOH, if cmake would create the makefile and additionally a kdevelop-project
>file, 
>then kdevelop would know how to build the project (with make) and would know
>which 
>files belong to the project (from the generated kdevelop-project file). 
>So, a cmake-based kdevelop-project could mean it generates a simple
>cmakelists.txt, 
>which in turn generates the kdevelop-project file, which references the 
>cmakelists.txt in some way.  
>Weird. Let's see. 


OK, I see Kdevelop does not have a build system.   So, if you combined
Kdevelop with CMake, you could provide one.   I guess in that case it
would make sense for Kdevelop to use CMakeLists files as its project files.
I don't think you would need to have a libCMake.so to do that.   Right now
cmake only parses cmake files, and does not write them.  So, if you created
software that produced cmakelist files it would not really even have to link
to cmake at all.   Then you would just run an installed cmake from Kdevelop.
Or, I suppose you could package cmake with Kdevelop.  You could make Kdevelop be
another ccmake or CMakeSetup with a cache editor, and also a CMakeList creation tool.

I would think the easiest way to move forward would be to create CMakeList files
from the Kdevelop GUI much like you create MS .vcproj files with the MS IDE.  
Something like this:

Menu-> New Project -> (C++ Library| C++ executable, etc)
Menu-> Add Source File 
Menu-> Configure  -> This would run CMakeSetup or ccmake 
Menu-> Build


-Bill



More information about the Cmake mailing list