Oscar is a set of programs to efficiently search in openstreetmap data
It consists of the following parts:
This is the main library to provide access to serialized data-types.
This is a program to create files needed by the search applications
This is a simple command line program to search with the files created by oscar-create
This is a qt-based gui application to search the files created by oscar-create
git clone --recursive https://github.com/dbahrdt/oscar
In order to compile and run OSCAR you at least need the following libraries:
- ragel
- CGAL
- Google Protobuf
- zlib
- Cairo
- libmarble
- Qt5
Note that on some distributions these libraries are split into multiple packages with extra packages for the development files. These are usually denoted with a "dev" at the end.
mkdir build && cd build
cmake ../
make
This currently only works with gcc. You first have to determine your version of gcc and its full path.
On Debian Buster this is GCC 8.2 with the full path beeing /usr/bin/gcc-8
.
We only need the version numbers at the end:
mkdir build && cd build
CMAKE_GCC_VERSION_FOR_LTO=8 cmake -DCMAKE_BUILD_TYPE=ultra ../
On Arch this won't work due to different naming of dirs and gcc version. Instead you have to explicitly set the lto plugin:
CMAKE_GCC_VERSION_FOR_LTO=disable cmake -DCMAKE_LTO_PLUGIN_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/liblto_plugin.so -DCMAKE_BUILD_TYPE=ultra ../
Note that changing build types afterwards is not supported as this does not set the correct compiler flags
- Get a not too recent perf (should work with 4.12)