|
@@ -0,0 +1,62 @@
|
|
|
|
+setlocal
|
|
|
|
+
|
|
|
|
+if %PYTHON%==C:\python35_32bit set generator=Visual Studio 14
|
|
|
|
+if %PYTHON%==C:\python35_32bit set vcplatform=Win32
|
|
|
|
+
|
|
|
|
+if %PYTHON%==C:\python35 set generator=Visual Studio 14 Win64
|
|
|
|
+if %PYTHON%==C:\python35 set vcplatform=x64
|
|
|
|
+
|
|
|
|
+if %PYTHON%==C:\python36_32bit set generator=Visual Studio 14
|
|
|
|
+if %PYTHON%==C:\python36_32bit set vcplatform=Win32
|
|
|
|
+
|
|
|
|
+if %PYTHON%==C:\python36 set generator=Visual Studio 14 Win64
|
|
|
|
+if %PYTHON%==C:\python36 set vcplatform=x64
|
|
|
|
+
|
|
|
|
+REM Prepend newly installed Python to the PATH of this build (this cannot be
|
|
|
|
+REM done from inside the powershell script as it would require to restart
|
|
|
|
+REM the parent CMD process).
|
|
|
|
+SET PATH=%PYTHON%;%PYTHON%\Scripts;%OLD_PATH%
|
|
|
|
+python -m pip install -U pip
|
|
|
|
+pip install wheel
|
|
|
|
+
|
|
|
|
+REM Check that we have the expected version and architecture for Python
|
|
|
|
+python --version
|
|
|
|
+python -c "import struct; print(struct.calcsize('P') * 8)"
|
|
|
|
+
|
|
|
|
+rmdir /s/q protobuf
|
|
|
|
+git clone https://github.com/google/protobuf.git
|
|
|
|
+
|
|
|
|
+REM Checkout release commit
|
|
|
|
+cd %REPO_DIR%
|
|
|
|
+git checkout %BUILD_COMMIT%
|
|
|
|
+
|
|
|
|
+REM ======================
|
|
|
|
+REM Build Protobuf Library
|
|
|
|
+REM ======================
|
|
|
|
+
|
|
|
|
+mkdir src\.libs
|
|
|
|
+
|
|
|
|
+mkdir vcprojects
|
|
|
|
+pushd vcprojects
|
|
|
|
+cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% -Dprotobuf_BUILD_TESTS=OFF ../cmake
|
|
|
|
+msbuild protobuf.sln /p:Platform=%vcplatform% /p:Configuration=Release
|
|
|
|
+dir /s /b
|
|
|
|
+popd
|
|
|
|
+copy vcprojects\Release\libprotobuf.lib src\.libs\libprotobuf.a
|
|
|
|
+copy vcprojects\Release\libprotobuf-lite.lib src\.libs\libprotobuf-lite.a
|
|
|
|
+SET PATH=%cd%\vcprojects\Release;%PATH%
|
|
|
|
+dir vcprojects\Release
|
|
|
|
+
|
|
|
|
+REM ======================
|
|
|
|
+REM Build python library
|
|
|
|
+REM ======================
|
|
|
|
+
|
|
|
|
+cd python
|
|
|
|
+
|
|
|
|
+REM sed -i 's/\ extra_compile_args\ =\ \[\]/\ extra_compile_args\ =\ \[\'\/MT\'\]/g' setup.py
|
|
|
|
+
|
|
|
|
+python setup.py bdist_wheel --cpp_implementation --compile_static_extension
|
|
|
|
+dir dist
|
|
|
|
+copy dist\* %ARTIFACT_DIR%
|
|
|
|
+dir %ARTIFACT_DIR%
|
|
|
|
+cd ..\..
|