DEPRECATED! build scripts for mapnik dependencies, mapnik, node-mapnik, node, libosmiom, osmium-tool
Batchfile PowerShell C# Shell Python
Switch branches/tags
Nothing to show
Clone or download


This repository is not maintained anymore as Windows support for mapnik and node-mapnik has been dropped.

Background information:

If you are interested in bringing Windows support back to life contact @springmeyer


Build status Build Status

Things are moving fast and sometimes break. If something doesn't work for you, please open an issue.

Windows build scripts mainly targeting:

  • mapnik and its dependencies
  • C++11 build of node
  • node-mapnik

Other supported software:

  • node-gdal
  • osmium: libosmium, node-osmium, osmium-tool
  • osrm


  • 64bit operating system (W7, 8, 8.1, Server 2012)
  • Visual Studio 2015, No earlier versions suppported, C++11 support needed!
  • Python 2.7 32 bit installed into C:\Python27
  • git installed into C:\Program Files (x86)\Git


System Setup


  • Python 2.7 32 bit
  • Git
  • Visual Studio VS2015

When using your builds on machines that don't have Visual Studio installed you have to install the C++ runtime corresponding to the VS version that was used for building:

Build Setup

There is no need to manually download any dependencies, they all get downloaded automatically when needed.

git clone
cd windows-builds

This defines default options to get a quick 64bit build of mapnik: e.g dependencies are not compiled, but already compiled binary dependencies get downloaded.

Options for settings.bat (see source for overridable parameters):


You can combine as many overridable parameters as you like, but each one has to be quoted with double quotes!


  • Turning on compilation of dependencies: settings "FASTBUILD=0"
  • Building 32bit and using mapnik branch win-perf: settings "TARGET_ARCH=32" "MAPNIKBRANCH=win-perf"

Building mapnik


With "FASTBUILD=1" (the default):

  • downloads pre-compiled dependencies
  • pulls latest mapnik (honoring MAPNIKBRANCH)
  • builds mapnik only
  • to build node-mapnik, issue scripts\build_node_mapnik.bat afterwards


  • downloads/pulls source and builds each dependencies
  • pulls latest mapnik (honoring MAPNIKBRANCH)
  • builds mapnik
  • pulls and builds nodejs
  • pulls latest node-mapnik (honoring NODEMAPNIKBRANCH)
  • builds node-mapnik

With "PACKAGEMAPNIK=1" (the default) a mapnik SDK package is created, including all necessary header files, libs and DLLs.

The package will be created in the directory bin\ with this name:




Creating binary mapnik dependencies packages (Mapbox specific)

Binary deps packages help speed up the mapnik build by providing already compiled dependencies. They are utilized by "FASTBUILD=0" (the default) and provided by Mapbox via S3 - the build scripts pull them down automatically.

  • x64: settings "FASTBUILD=0" "PACKAGEDEPS=1"
  • x86: settings "TARGET_ARCH=32" "FASTBUILD=0" "PACKAGEDEPS=1"

The resulting 7z files are created in the respective bin\ directories:

  • x64: mapnik-win-sdk-binary-deps-14.0-x64.7z
  • x86: mapnik-win-sdk-binary-deps-14.0-x86.7z

Automated builds

The binary deps packages have to be updated everytime one or more depencdencies change (e.g. boost@1.60 -> boost@1.61). Otherwise "FASTBUILD=1" will use older depencdencies.

The use of binary deps packages can be overriden via "FASTBUILD=0".

The new binary deps packages have to be put into (overwrite old ones)