]> git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/ci/scripts/python_wheel_windows_build.bat
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / ci / scripts / python_wheel_windows_build.bat
1 @rem Licensed to the Apache Software Foundation (ASF) under one
2 @rem or more contributor license agreements. See the NOTICE file
3 @rem distributed with this work for additional information
4 @rem regarding copyright ownership. The ASF licenses this file
5 @rem to you under the Apache License, Version 2.0 (the
6 @rem "License"); you may not use this file except in compliance
7 @rem with the License. You may obtain a copy of the License at
8 @rem
9 @rem http://www.apache.org/licenses/LICENSE-2.0
10 @rem
11 @rem Unless required by applicable law or agreed to in writing,
12 @rem software distributed under the License is distributed on an
13 @rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 @rem KIND, either express or implied. See the License for the
15 @rem specific language governing permissions and limitations
16 @rem under the License.
17
18 @echo on
19
20 echo "Building windows wheel..."
21
22 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
23
24 echo "=== (%PYTHON_VERSION%) Clear output directories and leftovers ==="
25 del /s /q C:\arrow-build
26 del /s /q C:\arrow-dist
27 del /s /q C:\arrow\python\dist
28 del /s /q C:\arrow\python\build
29 del /s /q C:\arrow\python\pyarrow\*.so
30 del /s /q C:\arrow\python\pyarrow\*.so.*
31
32 echo "=== (%PYTHON_VERSION%) Building Arrow C++ libraries ==="
33 set ARROW_DATASET=ON
34 set ARROW_FLIGHT=ON
35 set ARROW_GANDIVA=OFF
36 set ARROW_HDFS=ON
37 set ARROW_ORC=OFF
38 set ARROW_PARQUET=ON
39 set ARROW_MIMALLOC=ON
40 set ARROW_S3=ON
41 set ARROW_TENSORFLOW=ON
42 set ARROW_WITH_BROTLI=ON
43 set ARROW_WITH_BZ2=ON
44 set ARROW_WITH_LZ4=ON
45 set ARROW_WITH_SNAPPY=ON
46 set ARROW_WITH_ZLIB=ON
47 set ARROW_WITH_ZSTD=ON
48 set CMAKE_UNITY_BUILD=ON
49 set CMAKE_GENERATOR=Visual Studio 15 2017 Win64
50 set VCPKG_FEATURE_FLAGS=-manifests
51
52 mkdir C:\arrow-build
53 pushd C:\arrow-build
54 cmake ^
55 -DARROW_BUILD_SHARED=ON ^
56 -DARROW_BUILD_STATIC=OFF ^
57 -DARROW_BUILD_TESTS=OFF ^
58 -DARROW_CXXFLAGS="/MP" ^
59 -DARROW_DATASET=%ARROW_DATASET% ^
60 -DARROW_DEPENDENCY_SOURCE=VCPKG ^
61 -DARROW_DEPENDENCY_USE_SHARED=OFF ^
62 -DARROW_FLIGHT=%ARROW_FLIGHT% ^
63 -DARROW_GANDIVA=%ARROW_GANDIVA% ^
64 -DARROW_HDFS=%ARROW_HDFS% ^
65 -DARROW_MIMALLOC=%ARROW_MIMALLOC% ^
66 -DARROW_ORC=%ARROW_ORC% ^
67 -DARROW_PACKAGE_KIND="python-wheel-windows" ^
68 -DARROW_PARQUET=%ARROW_PARQUET% ^
69 -DARROW_PYTHON=ON ^
70 -DARROW_S3=%ARROW_S3% ^
71 -DARROW_TENSORFLOW=%ARROW_TENSORFLOW% ^
72 -DARROW_WITH_BROTLI=%ARROW_WITH_BROTLI% ^
73 -DARROW_WITH_BZ2=%ARROW_WITH_BZ2% ^
74 -DARROW_WITH_LZ4=%ARROW_WITH_LZ4% ^
75 -DARROW_WITH_SNAPPY=%ARROW_WITH_SNAPPY% ^
76 -DARROW_WITH_ZLIB=%ARROW_WITH_ZLIB% ^
77 -DARROW_WITH_ZSTD=%ARROW_WITH_ZSTD% ^
78 -DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% ^
79 -DCMAKE_CXX_COMPILER=clcache ^
80 -DCMAKE_INSTALL_PREFIX=C:\arrow-dist ^
81 -DCMAKE_UNITY_BUILD=%CMAKE_UNITY_BUILD% ^
82 -DMSVC_LINK_VERBOSE=ON ^
83 -DVCPKG_MANIFEST_MODE=OFF ^
84 -DVCPKG_TARGET_TRIPLET=x64-windows-static-md-%CMAKE_BUILD_TYPE% ^
85 -G "%CMAKE_GENERATOR%" ^
86 C:\arrow\cpp || exit /B
87 cmake --build . --config %CMAKE_BUILD_TYPE% --target install || exit /B
88 popd
89
90 echo "=== (%PYTHON_VERSION%) Building wheel ==="
91 set PYARROW_BUILD_TYPE=%CMAKE_BUILD_TYPE%
92 set PYARROW_BUNDLE_ARROW_CPP=ON
93 set PYARROW_BUNDLE_BOOST=OFF
94 set PYARROW_CMAKE_GENERATOR=%CMAKE_GENERATOR%
95 set PYARROW_INSTALL_TESTS=ON
96 set PYARROW_WITH_DATASET=%ARROW_DATASET%
97 set PYARROW_WITH_FLIGHT=%ARROW_FLIGHT%
98 set PYARROW_WITH_GANDIVA=%ARROW_GANDIVA%
99 set PYARROW_WITH_HDFS=%ARROW_HDFS%
100 set PYARROW_WITH_ORC=%ARROW_ORC%
101 set PYARROW_WITH_PARQUET=%ARROW_PARQUET%
102 set PYARROW_WITH_S3=%ARROW_S3%
103 set ARROW_HOME=C:\arrow-dist
104
105 pushd C:\arrow\python
106 @REM bundle the msvc runtime
107 cp "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT\msvcp140.dll" pyarrow\
108 python setup.py bdist_wheel || exit /B
109 popd