[poppler] RFC: cmake buildsystem

Pino Toscano toscano.pino at tiscali.it
Sun Dec 30 15:45:33 PST 2007


Alle domenica 30 dicembre 2007, Jeff Muizelaar ha scritto:
> On Wed, Dec 19, 2007 at 11:10:04PM +0100, Pino Toscano wrote:
> > Hi,
> >
> > as we recently gave new fresh air to out VCS (cvs → git), what about some
> > to the build system? ;)
> > So, this is a proposal to have cmake as at least secondary build system
> > for poppler.
>
> I'm really not a fan of cmake.

As I'm not really an autotools lover :)
I learnt quickly to use cmake when KDE switched to it more than one year ago, 
but I never succeeded to work with autotools.
It's a lot easier setting up projects, I noticed that when both doing 
university projects and at work; the autotools requires you to write lots 
more stuff just to startup.

> I certainly agree that autotools are not very good, but they are the defacto
> standard.

Just like CVS as "de facto standard" up to 5 years ago?
And now we have KDE, GNOME and lots more other projects using subversion, 
another lots using it, etc. People are migrating from CVS to anything else, 
so sorry, but I don't understand this.

> By choosing something  
> different we're sort of making the statment that we believe that cmake
> is a good replacement for the autotools and I'm not sure I believe
> that.

KDE (not a single application, but a *whole* projects) is using cmake nicely 
for more than one year now. Sure, we had to create macros for some behaviours 
we had with the autotools, but basically we managed it.
And if KDE as a whole was able to switch, don't tell me poppler (not really 
a "big" projects, wrt to its codebase) is not able to...

> > Some of its disadvantages:
> > - a more verbose syntax, and less tied to the shell
> > - some "automagics" less
>
> - adds a dependency on cmake

Just one single package against the current dependancy on autoconf + automake 
+ libtool.

> - seems less flexible

Well, that depends much on how you know this or the other build system.
You won't be able to write directly in cmake:

foo:
	@echo "Packing backup..."
	@tar bla...

but this small pice pays the fact you can generate not only unix Makefile's, 
but also MSVC projects, KDevelop3 projects, and any new target cmake is (or 
will) be able to generate.

> - I believe it uses absolute paths in the generated makefiles

That's the only real pitfall I find in cmake, yes.

-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freedesktop.org/archives/poppler/attachments/20071231/0b65e19e/attachment-0001.pgp 


More information about the poppler mailing list