Files
MapLibreParticleLab/next

Mapbox GL Native

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.

SDK Languages Build status
Mapbox GL Native Core C++14 Circle CI build status Coverage Status
Mapbox Maps SDK for Android Java Circle CI build status
Mapbox Maps SDK for iOS Objective-C or Swift Circle CI build status
Mapbox Maps SDK for macOS Objective-C, Swift, or AppleScript Circle CI build status
node-mapbox-gl-native Node.js Circle CI build status
Mapbox Maps SDK for Qt C++03 Circle CI build status AppVeyor CI build status

Additional Mapbox GL Native–based libraries for hybrid applications are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

License

Mapbox GL Native is licensed under the 3-Clause BSD license.

Developing

The next directory contains the next generation buildsystem for Mapbox GL Native, based solely on CMake with the goal of minimizing the use of scripts, increase portability and support building Mapbox GL Native as a subdirectory of another CMake project. This new buildsystem is also designed to build offline, making use of pre-installed and vendorized dependencies. When using the build bot docker image, the build should produce the exact same results as the bots, making it a hermetically sealed build for Linux, Qt and Android.

Building and running tests

The following command, executed from the root of this repository tree, will build Mapbox GL Native targeting your host architecture given that you have all the dependencies installed.

$ mkdir build && cd build
$ cmake ../next
$ make -j8
$ make test ARGS=-V