Modularized Packaging

As part of OpenCPN 3.3 beta series we implemented a modularized packaging system allowing to produce packages with just the program or bundle various levels of data (documentation, tide/current harmonics, 7 levels of GSHHS shorelines)
The contents of the generated package are governed by the parameters passed to the cmake configure process:

Parameter Possible Values







Note: Just the crude GSHHS data are now contained in the code repository, to use the higher levels, get the whole dataset from opencpn-gshhs_2.2.4.orig.tar.xz (87mb)


The modularized packaging makes biggest sense on platforms where a packaging system is provided, which so far means Linux. The plumbing to produce all the modularized packages for Ubuntu/Debian we make available through the Launchpad PPA lives at

Platforms without proper package management

On Windows and Mac we miss the packaging system Linux distributions have and will have to implement our own way to download the selected modules. Until it is done, the configure/build process is set to produce the monolithic package by default.
Until we manage to implement the distribution of modularized packages on these platforms and change this behavior, the (for example) minimal package can still be built using


(The BLAH or similar value has to be used to circumvent cmake’s inability to distinguish between unset and set to FALSE variables easily)