Re: Using CMake wiki page notice



Am Mittwoch, den 20.12.2006, 01:32 +0100 schrieb Marko Anastasov:

> http://live.gnome.org/gtkmm/UsingCMake
> 
> It's just a simple example, I don't know very much about CMake ATM.
> Actually a guy on the cmake-list showed me how to do it with pkg-config
> properly,

This guy was me ;)

>  I was trying something on my own but it wasn't perfect.
> 
> Anyway, later I or anyone can update it to show how to check for
> a particular version etc, so that we can have one good place to copy
> and paste from if and when we want to use CMake :).
> 
> Marko
> 
> _______________________________________________

I want to say some word about cmake. 

Its a meta build system, since it doesn't build anything but
Makefiles(i.e. for gnu's make or msvc's nmake) or IDE project files
(KDevelop, .NET Studio).

For unix like systems this means:
  * autoheader
      * aclocal 
      * autoconf  
      * automake  
      * ./configure  
      * make 
turns into
  * cmake ../ # we did 'mkdir build && cd build' at the project folder
  * make 

It combines autoconf and automake, but isn't gnu-centric. The autotools
are slow as hell on Win32 plus the cmake error messages make it much
easier to track problems down. 
The most important drawback is: cmake doesn't install anything by
default(the autotools use conventions: 
bin_progexe -> .. /usr/bin/progexe ). 
You have to use the 
    install(...
cmake macro.

I did some work on CMake and gmmproc and libgnomevfsmm builds including
all the .hg/.ccg to h/p_h/cc and corresponding dependency checking
stuff. I will add the Module to the wiki page.

But before you scream for cmake as the new portable(i.e. build gtkmm out
of the box using msvc) build system consider this:
KDE changed to cmake, but gnome isn't KDE. For building gnome proper a
hole bunch of libs has to be build in configuration-sync with each
other. IMHO the autotools are a joy for maintainers but a hassle for
developers. IMHO CMake is a joy for developers, but it has to be proven
for not being a hassle for maintainers. 

For just building apps, cmake is the best choice I know. Its easy to
use, easy to extend and OS/compiler portable.

Best regards,
Maik Beckmann






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]