.. | ||
build-compiler.bat | ||
build.bat | ||
Dockerfile | ||
README.md |
Building Thrift using Docker for Windows
The build image is very large (just under 30GB) so plan accordingly. Once Microsoft supports build tools in nano, it should get better.
Install Docker for Windows and switch to Windows container mode.
Pull from docker hub:
PS C:\> docker pull thrift/thrift-build:msvc2017
or build in a docker for windows environment:
PS C:\Thrift> docker build -t thrift/thrift-build:msvc2017 -f build\docker\msvc2017\Dockerfile build\
The following directories are used inside the container:
C:\Build the out-of-tree build directory
C:\Install the install target directory
C:\Thrift the source tree
You can override these as docker volumes if desired.
Compiler
To build a portable windows thrift compiler (with a statically linked runtime) and get it placed into C:\install:
docker run -v C:\thrift:C:\thrift^
-v C:\install:C:\install^
--rm -t thrift/thrift-build:msvc2017^
C:\thrift\build\docker\msvc2017\build-compiler.bat
The end result is a portable windows thrift compiler located at
C:\Install\bin\thrift.exe
If you run it through the Dependency Walker you will see it only depends on KERNEL32.DLL which means the runtime is statically linked, so the executable is portable and self-contained. This is how the windows thrift compiler is built for each Apache Thrift release.
Libraries
To build, test everything and get the C++ SDK placed into C:\install:
docker run -v C:\thrift:C:\thrift^
-v C:\install:C:\install^
-m 4096 --rm -t thrift/thrift-build:msvc2017^
C:\thrift\build\docker\msvc2017\build.bat