General
Plugins are made up of four parts:
-
Dynamic libraries
-
Data files
-
Translations
-
Helper binaries.
The only mandatory part is the plugin dynamic library, many plugins is basically just this file + some translations.
MacOS
~/Library/Application Support/OpenCPN/ └── Contents ├── PlugIns │ └── LIBRARIES, BINARY HELPERS ├── Shared Support │ └──plugins | └── <plugin> | └── DATA └─- Resources └─── *.lproj (en_US, da_DK, sv_SE, etc.) └───────── opencpn-<plugin>.mo
Windows
%LOCALAPPDATA% (default: C:\Users\<user>\Appdata\Local) └── opencpn ├── plugins │ ├── LIBRARIES, BINARY HELPERS │ └── <plugin> │ └── DATA FILES └── share └── locale └── * (en_US, sv_SE, etc.) └── LC_MESSAGES └── opencpn-<plugin>.mo
Linux
~/.local/ ├── lib │ └── opencpn │ └── LIBRARIES ├── share │ ├── opencpn │ │ └── plugins │ │ └── <plugin> │ │ └── DATA FILES │ └── locale | └── * (en_US, sv_SE, etc.) | └── LC_MESSAGES | └── opencpn-<plugin>.mo └── bin └── BINARY HELPERS
flatpak
~/.var/app/org.opencpn.OpenCPN/ ├── lib │ └── opencpn │ └── LIBRARIES ├── data │ ├── opencpn │ │ └── plugins │ │ └── <plugin> │ │ └── DATA FILES │ └── locale | └── * (en_US, sv_SE, etc.) | | | └── LC_MESSAGES | └── opencpn-<plugin>.mo └── bin └── BINARY HELPERS