[CMake] Making C++ easy: "Common Build System" And "CMakeLists.txt" naming problems

Martin Lutken mlu at danware.dk
Tue Jan 15 07:51:16 EST 2008


We are some people who have had a some dicussion about allowing an alternate 
name instead of "CMakeLists.txt". So here's a link to a page about CBS 
(Common Build System) I am trying to create in the effort to make C++ as easy 
to use as C#, Java etc.

http://cpaf.sourceforge.net/CBSIntroduction0_page_description.html

Below here just an ultra short intro see above link for about 2 pages of 
quickly read information.

Simple example from my actual codebase. CBS (Common Build System) makefiles
for zlib and libpng, which depends on zlib (install stuff not included):
--- z.cbs ---
TARGET_DEFAULT_VERSION ( 1 2 3  )
ADD_SOURCE_FILE ( adler32.c 	)
ADD_SOURCE_FILE ( compress.c    )
...
ADD_SOURCE_FILE ( inffast.c     )

--- png.cbs ---
TARGET_DEFAULT_VERSION ( 1 2 16 )
ADD_DEPENDS_ON (  z  )
ADD_SOURCE_FILE ( png.c		)
ADD_SOURCE_FILE ( pngerror.c	)
...
ADD_SOURCE_FILE ( pngwutil.c	)

--------------------------------
Note the ADD_DEPENDS_ON ( z ) for png. This single line takes care of all
needed includes, linkdirs/libraries etc. thats neeeded to compile and link
libpng. For additional include use ADD_INCLUDE_DIR.

See the homepage for more information or even check it out from SVN.
http://cpaf.sourceforge.net/CBSIntroduction0_page_description.html
http://cpaf.sourceforge.net
svn co https://cpaf.svn.sourceforge.net/svnroot/cpaf/trunk/cpaf cpaf


-Regards Martin Lutken



More information about the CMake mailing list