[pacman-dev] Humble proposal: replace autotools by CMake for pacman
jdhore1 at gmail.com
Sat Jan 9 13:28:44 EST 2010
2010/1/9 Yannick LM <yannicklm1337 at gmail.com>
> First of all, since it's my first message on this list, a few words
> about myself:
> I'm a French software engineer in a small company, I've use Arch from
> several years now, and CMake at work.
> (We produce a big piece of software written in C++ that must run on
> windows, linux and mac)
> I'm also a huge fan of the Python language.
> Also, a few words about cmake:
> Web page: http://www.cmake.org/
> Typical workflow is:
> cd /path/to/source
> mkdir build
> cd build
> cmake ..
> ccmake . #optional, to change configuration
> Pros :
> * Nothing gets generated anywhere but in source/build, so there's no
> need for "clean" rules and a .gitignore containing "build" is enough
> * It's widely used, so lots of stuff such as using gettext is easily done.
> * It's fast! (written in C++)
> * It has a ugly syntax
> * It lacks decent documentation:
> http://cmake.org/cmake/help/cmake-2-8-docs.html is all you've got.
> Back to the subject: one day I decided it would be great to see
> libalpm wrapped in Python (or Ruby, or whatever ...)
> It's quite easy done once you use swig, and swig is easy when you use
> So, I started hacking a few CMakeLists files.
> The result is in a "cmake" branch in
> (which I'll try to keep not too far from pacman's official master branch)
> Right now, here's what those files can do:
> * let the user choose a few variables such as CONFFILE, DBEXT,
> LOGFILE (using ccmake)
> * build libalpm and pacman
> * install some files.
> If you want, I could take care of everything that's still missing:
> translations, tests ...
> I don't have much spare time to spend on this, but there's no need to
> hurry, isn't it?
> Just let me know if you are interested or if you have any question on
> the subject.
> Yannick LM
I personally think CMake is a bad idea to use for something like pacman.
It's a bit saner and easier to use, but it's HUGE (~24MB on disk) compared
to autotools (~4MB on disk) and to build CMake itself takes quite a while
(~20 minutes on a fairly decent 2.8GhZ Pentium 4 under no load). While I
dislike autotools, I think for critical system components, using CMake is
too heavy and a bit stupid.
More information about the pacman-dev