Archive for July, 2007

you have chance to survive CMake your time

Sunday, July 29th, 2007

Brownie and Bozo have slowly been coming around to using cmake rather than autoconf/automake. Autoconf/automake is the obvious choice for keeping C/C++ projects compilable on all sorts of UNIX systems using standard build toolchains, but as soon as you mix in different kinds of IDEs and non-UNIX operating systems, cmake becomes a lot more attractive. It is basically willing to generate whatever kind of strange makefile / project / solution / hurgle-nurgle file your favorite build tool expects. We’ve been pushed towards using cmake in order to be friendly to visual studio and xcode users. But now we’re wondering if a widespread move towards tools like cmake might enable a revolution in build tools, since if someone comes up with a great new build tool all they’ll have to do is add another generator to cmake (or its equivalent) rather than rewriting all existing projects. The sheer variety of build tools supported already by cmake makes this particularly easy to imagine.

apt-get install package-management

Sunday, July 22nd, 2007

Ian Murdock expresses how package management changed everything, a point I’ve often tried to make to friends who don’t quite “get” Linux. One of the key benefits Debian has brought to my life is the time and effort the developers spend getting package dependencies just right, so I don’t have to. Working on a Windows machine feels like being dragged back into the past, when you had to walk 10 miles to school with no shoes, and jump through a series of idiosyncratic vendor-specific hoops to get anything serious installed. Not a pleasant development environment at all. Underlying the whole experience are the free and open licenses on the core software involved, which allow a coherent integrated system to be built without mind-numbing complexity. You can get away with having some proprietary software on the “leaves” of the dependency tree, but it is just stunning how much complexity they introduce if you try to build on them.