[CMake] attempt to summarize
    Alexander Neundorf 
    a.neundorf-work at gmx.net
       
    Tue Dec 18 16:08:04 EST 2007
    
    
  
Hi,
there were a lot of emails, I'll try to make a summary.
So what is needed to get a big "market share" for cmake and what seems to be 
required in cmake features.
This is not intended to be a task list for Kitware, e.g. ant and the support 
for languages would be nice as contributions from somebody who actually uses 
that stuff.
------------------------------------
Support for the major build systems:
------------------------------------
Supported: make, MSVC, XCode, Eclipse, KDevelop, CodeBlocks
Missing: 
-ant: I think having an ant generator might be nice (I don't know that much 
about ant). It will be nice for Java people, and it may be as powerful (if 
not more) and maybe cleaner than makefiles. Maybe people who don't like java 
could write an ant implementation in another language, maybe also as a 
library so IDEs could use it directly ? It would also mean that CMake 
generates ("modern") XML files instead of ("old fashioned") Makefiles.
-any others ?
----------------------
Support for languages
----------------------
Fully supported: 
  C, C++
Support not that mature as for C/C++:
  C# - not documented, but I think Kitware has some projects using C#, 
       I guess cmake is used for them ?
  Java - I think I heard there are some issues with files in subdirectories ?
  Fortran - AFAIK some dependency scanner issues, is being worked on
  Assembler - is there, but almost no feedback
  Ada - Alan has files for that, not (yet) in cvs
Not supported:
  Objective C - used on the Mac, would probably be good if it was supported
  OCaml - really strange to build, may be problematic, not that many users
  Pascal - may be not that hard to add, maybe less users than OCaml ?
------------------
Operating systems
------------------
Supported: all except the ones listed below
needs improvements: OpenBSD, shared library versioning scheme
not supported: VMS, OS/2, DOS, others ?
------------------------
CMake features
------------------------
parentheses in conditions: if((a OR b) AND (c OR d))
I guess square brackets would be acceptable too (just in case this would 
easier for the parser): if( [a OR b] AND [c OR d] )
some way to define custom command line arguments
fine grained flags (per source etc.), AFAIK is being worked on
something like BREAK and/or RETURN to break from loops, makros, functions and 
files. This should make some code easier to read and write.
better regexps wouldn't hurt
abstraction of compiler flags (being worked on ?)
I could create a wiki page "TODO items" so interested people may pick 
something to work on.
Comments ?
Alex
    
    
More information about the CMake
mailing list