[CMake] CMake Marketing

William A. Hoffman billlist at nycap.rr.com
Thu Dec 15 08:40:59 EST 2005


At 03:53 AM 12/15/2005, Prakash Punnoor wrote:
>Am Donnerstag Dezember 15 2005 02:12 schrieb Brandon J. Van Every:
>>
>> SCons is a near competitor of CMake.  When I was shopping for a better
>
>> Studying the strengths and weaknesses of SCons is going to be important
>> though.  It sits in a similar ecological niche and is most likely to eat
>> CMake's lunch.
>>
>> The main downsides I've had with CMake while learning it over the past 2
>> months have been:
>>
>> - incomplete documentation.  This is a big problem.  It's only because
>
>100% agreement. Though I like CMake a lot and got the project files ready as 
>secondary build system  for OpenAL and Alut (www.openal.org) - documentation 
>for beginners plainly suck. What is called "documentation" is a reference, 
>which is nice for people who already know how to properly use CMake. But 
>there is nothing nice for beginners. Yes, I know about the tutorial, but it 
>is too basic. Take a look at SCons documentation/tutorial. This is something 
>I would have liked to have when I started with CMake.
>
>There are tons of undocumented stuff, no place where the modules are listed 
>and how they are to be used. So in the end one has to check up each module 
>and find out what it does - not very user-friendly.
Funny you should mention that, Brad and I just added the ability to extract documentation
from the Modules directory comments.  This way all modules in CMake will be automatically
documented.   If you try cvs cmake today, it has the changes.


  --help-module module [file] = Print help for a single module and exit.
  --help-module-list [file]   = List available modules and exit.
// these three will now include docs for the modules:
  --help-full [file]          = Print full help and exit.
  --help-html [file]          = Print full help in HTML format.
  --help-man [file]           = Print a UNIX man page and exit.

For example:

$ ./bin/cmake --help-module FindTCL
cmake version 2.3-20051213
  FindTCL
       Find Tcl includes and libraries.

       This module finds if TCL is installed and determines where the include
       files and libraries are.  It also determines what the name of the
       library is.  This code sets the following variables:

         TCL_LIBRARY            = path to Tcl library (tcl tcl80)
         TCL_LIBRARY_DEBUG      = path to Tcl library (debug)
         TCL_STUB_LIBRARY       = path to Tcl stub library
         TCL_STUB_LIBRARY_DEBUG = path to Tcl stub library (debug)
         TCL_INCLUDE_PATH       = path to where tcl.h can be found
         TCL_TCLSH              = path to tclsh binary (tcl tcl80)
         TK_LIBRARY             = path to Tk library (tk tk80 etc)
         TK_LIBRARY_DEBUG       = path to Tk library (debug)
         TK_STUB_LIBRARY        = path to Tk stub library
         TK_STUB_LIBRARY_DEBUG  = path to Tk stub library (debug)
         TK_INCLUDE_PATH        = path to where tk.h can be found
         TK_INTERNAL_PATH       = path to where tkWinInt.h can be found
         TK_WISH                = full path to the wish (wish wish80)

I will be putting the output of this on the Web soon as well.

-Bill




More information about the CMake mailing list