Installation paths

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.

Many plugins includes a data directory. The path to this directory is available in the API using the GetPluginDataDir() function. Note that this directory is read-only for the plugin, the files here are owned by the installer and must not be modified.

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