[CMake] attempt to summarize

Pau Garcia i Quiles pgquiles at elpauer.org
Tue Dec 18 16:35:51 EST 2007


Quoting Alexander Neundorf <a.neundorf-work at gmx.net>:

Great summary, thanks.

+1 to a TODO in the wiki.

> 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
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>



-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)



More information about the CMake mailing list