Libosmscout is a C++ library for offline map rendering, routing and location lookup based on OpenStreetMap data.
Supported platforms:
The libraries itself are under LGPL. For details see the LICENSE file.
The official homepage is at: http://libosmscout.sourceforge.net/.
Please subscribe to the mailing list and ask your questions. English is the preferred language but other languages might be supported, too.
You can also get support in the matrix room #libosmscout.matrix.org. While it is a interactive chat room, an answer still may take some time, though.
You can find detailed instruction how to get libraries and applications build and working and other introductory documentation on the homepage.
The documentation in the OpenStreepMap Wiki is currently still correct but is not activily maintained by the libosmscout team.
You can find a list of features here. Note that the features pages are currently not up to date. We are unsure how to best represent all the features of libosmscout.
You can find some documentation and tutorials on the homepage and some other documentation in the git repository.
There are a number of demo applications that show how to make use of the various features of the library.
We plan to move all documentation for the repository to the homepage.
This project uses Uncrustify 0.83.0 for consistent C++ code formatting. The configuration file is .uncrustify at the project root, tuned to produce minimal diffs on existing code.
To apply formatting to all tracked source files:
./scripts/format-check.sh apply
To verify files are correctly formatted (exit 0 = clean, exit 1 = unformatted):
./scripts/format-check.sh check
To see what changes uncrustify would make without modifying anything:
./scripts/format-check.sh diff
Note: Directories Android/, Apple/, and subprojects/ are excluded. They contain platform-specific or third-party code with their own formatting.
Automatic builds can be found at Github Actions. Static code analysis on Sonar cloud. Goal is to check all supported platforms, compilers and build systems to keep project in good condition.
Current build status: