Building parquet-cpp on Windows

Fast setup of building requirements with conda and conda-forge

A convenient and tested way to set up thirdparty dependencies is to use the conda package manager. Please feel free to extend this document with others ways to setup development environment for parquet-cpp.

conda and package toolchain

Miniconda is a minimal Python distribution including the conda package manager. To get started, download and install a 64-bit distribution.

We recommend using packages from conda-forge. Launch cmd.exe and run following to bootstrap a build environment:

To allow cmake to pick up 3rd party dependencies, you should set PARQUET_BUILD_TOOLCHAIN environment variable to contain Library folder path of new created on previous step parquet-dev conda environment. For instance, if Miniconda was installed to default destination, Library folder path for parquet-dev conda environment will be as following:

C:\Users\YOUR_USER_NAME\Miniconda3\envs\parquet-dev\Library

As alternative to PARQUET_BUILD_TOOLCHAIN, it's possible to configure path to each 3rd party dependency separately by setting appropriate environment variable:

BOOST_ROOT variable with path to boost installationTHRIFT_HOME variable with path to thrift-cpp installationSNAPPY_HOME variable with path to snappy installationZLIB_HOME variable with path to zlib installationBROTLI_HOME variable with path to brotli installationARROW_HOME variable with path to arrow installation

Customize static libraries names lookup of 3rd party dependencies

If you decided to use pre-built 3rd party dependencies libs, it's possible to configure parquet-cpp cmake build script to search for customized names of 3rd party static libs.

Visual Studio

Microsoft provides the free Visual Studio Community edition. Once you have Visual Studio installed, you should configure cmd.exe environment to be able to find Visual Studio's build toolchain by running following commands: