CPack Packaging for Windows/Mac (and possibly Linux)

Mike Arthur mike at mikearthur.co.uk
Sun Aug 24 22:15:51 CEST 2008


Hey guys,

I was talking to Alexander Neundorf and Till Adam at Akademy about packaging 
for Windows/Mac (and possibly Linux) systems using CPack.

As we're using CMake and CTest for our build and test system it makes sense to 
use CPack for as much of our packaging as possible. Currently the Windows 
packaging and install system is fairly terrible. I realise we are from a UNIX 
background and we want to minimise wastage of libraries etc. but we seriously 
need to rethink the way we are distributing packages to users if we want to 
target the same market that e.g. Mozilla do. If you compare the installation 
process for e.g. Konqueror vs Firefox then its fairly insane how hard it is 
for us (at least last time I checked).

I propose that we set up CPack to create per-package and per-module installers 
for Windows and Mac. I'm going to start updating CPack's wiki documentation 
massively in the next few weeks and also plan on trying to create a MSI 
backend for CPack and have experience at Mendeley (http://www.mendeley.com/) 
with creating automatically generated installers for Windows/Mac/Linux with 
e.g. branding/graphics and ensuring that the applications install and behave 
as closely as possible to an expected user of that platform. At the moment I'm 
using a NSIS installer for Windows and a DMG with a PKG and .app bundle on 
Mac.

I realise that my above critiquing of the current packaging system will 
probably attract some attention but I think its important that this is shaken 
up a bit. If necessary the two projects can live side-by-side, the current 
approach for people who really don't want to duplicate libraries and the 
individual-packaged application approach for people that just want to install 
an application offline and start using it straight away.

Anyway, awaiting thoughts on this and have cross-posted to a few lists to 
ensure maximum input.

-- 
Cheers,
Mike Arthur


More information about the Kde-buildsystem mailing list