Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.71 KB

INSTALL.md

File metadata and controls

68 lines (46 loc) · 2.71 KB

Building & Developing Mapbox GL Native from Source

Just trying to use Mapbox GL Native? You don't need to read this stuff! We provide easy-to-install, prebuilt versions of the Mapbox SDKs for iOS and Android that you can download instantly and get started with fast.

Still with us? These are the instructions you'll need to build Mapbox GL Native from source on a variety of platforms and set up a development environment.

Your journey will start with getting the source code, then installing the dependencies, and then setting up a development environment, which varies depending on your operating system and what platform you want to develop for.

1: Getting the source

Clone the git repository:

git clone https://github.com/mapbox/mapbox-gl-native.git
cd mapbox-gl-native

2: Installing dependencies

These dependencies are required for all operating systems and all platform targets.

  • Modern C++ compiler that supports -std=c++14*
    • clang++ 3.5 or later or
    • g++-4.9 or later
  • CMake 3.1 or later (for build only)
  • cURL (for build only)
  • Node.js 4.2.1 or later (for build only)
  • pkg-config (for build only)

Note: We partially support C++14 because GCC 4.9 does not fully implement the final draft of the C++14 standard. More information in DEVELOPING.md.

Depending on your operating system and target, you'll need additional dependencies:

Additional dependencies for Linux

Additional dependencies for macOS

Optional dependencies

  • ccache (for build only; improves recompilation performance)

3: Setting up a development environment & building

See the relevant SDK documentation for next steps:

4: Keeping up to date

This repository uses Git submodules, which should be automatically checked out when you first run a make command for one of the above platforms. These submodules are not updated automatically and we recommended that you run git submodule update after pulling down new commits to this repository.