OpenCPN/OpenCPN — pull request #151 by nohal (2014-08-09 21:17:08+00:00)
Title: Modularized packaging

Implements 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)

Parameter | Possible Values
------------ | -------------
BUNDLE_DOCS | ON,**OFF**,[BLAH]
BUNDLE_TCDATA | ON,**OFF**,[BLAH]
BUNDLE_GSHHS | **NONE**,MIN,CRUDE,LOW,INTERMEDIATE,HIGH,FULL,[BLAH]

Example (configures the build process to produce the same package as the non-configurable process used until now)
```cmake -DBUNDLE_DOCS=ON -DBUNDLE_TCDATA=ON -DBUNDLE_GSHHS=INTERMEDIATE ..```

The plumbing to produce all the modularized packages for Ubuntu/Debian lives in https://github.com/nohal/launchpad
The source tarballs to produce the data packages reside at http://sourceforge.net/projects/opencpnplugins/files/opencpn_packaging_data/
On Windows and Mac we still don't have the same possibilities, so the default is set to produce monolithic package, just with lower level of GSHHS base chart on these platforms.
Until we manage to modularize the packaging there, 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)
```cmake -DBUNDLE_DOCS=BLAH -DBUNDLE_TCDATA=BLAH -DBUNDLE_GSHHS=BLAH ..```