This plugin provides a search interface to the objects on the vector charts in OpenCPN. Note that it indexes the objects on the charts which were loaded at least once with the plugin enabled.
This assumes you have already seen the building instructions at http://opencpn.org/ocpn/compiling_source_linux or http://opencpn.org/ocpn/compiling_source_windows and can build OpenCPN from source.
git clone --recurse-submodules https://github.com/nohal/objsearch_pi.git
cd objsearch_pi
mkdir build
cd build
cmake ..
make
git clone --recurse-submodules https://github.com/nohal/objsearch_pi.git
cd objsearch_pi
mkdir build
cd build
cmake ..
cmake --build . --config release
Build the tarball target. Note that unless you know what you are doing, and use the exactly same dependencies, your locally built plugin libraries won't load to production OpenCPN build and vice versa, the production plugins from the plugin catalog won't work with your locally built OpenCPN.
To avoid problems, use your own local built of OpenCPN with your plugin libraries and make sure they were both built using the same settings, especially do not mix release and debug build products.
The format of the CSV is simple:
Lat, Lon, Object name, Feature name,"Source" name[[,Scale],PPM Scale]
Strings containing commas of course have to be quoted, the scale fields are optional
The project is developed in C++, language features up to C++17 can be used.
Please format your code using clang-format before submitting pull requests, they are checked for compliance with the .clang-format file used by the project during the CI workflow and can't be accepted if the test is not passing.
To make this as simple as possible, a pre-commit configuration is provided in the project, which activates a Git pre-commit hook taking care of the formatting automatically. To use it run the following commands:
pip3 install pre-commit
cd <plugin source directory>
pre-commit installUse WSL for pre-commit and save yourself the headache.