xref: /aosp_15_r20/external/pytorch/scripts/build_windows.bat (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker:: #############################################################################
2*da0073e9SAndroid Build Coastguard Worker:: Example command to build on Windows.
3*da0073e9SAndroid Build Coastguard Worker:: #############################################################################
4*da0073e9SAndroid Build Coastguard Worker
5*da0073e9SAndroid Build Coastguard Worker:: This script shows how one can build a Caffe2 binary for windows.
6*da0073e9SAndroid Build Coastguard Worker
7*da0073e9SAndroid Build Coastguard Worker@echo off
8*da0073e9SAndroid Build Coastguard Workersetlocal
9*da0073e9SAndroid Build Coastguard Worker
10*da0073e9SAndroid Build Coastguard WorkerSET ORIGINAL_DIR=%cd%
11*da0073e9SAndroid Build Coastguard WorkerSET CAFFE2_ROOT=%~dp0%..
12*da0073e9SAndroid Build Coastguard Worker
13*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED BUILD_BINARY (
14*da0073e9SAndroid Build Coastguard Worker  set BUILD_BINARY=OFF
15*da0073e9SAndroid Build Coastguard Worker)
16*da0073e9SAndroid Build Coastguard Worker
17*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED BUILD_SHARED_LIBS (
18*da0073e9SAndroid Build Coastguard Worker  :: On CI, we test with BUILD_SHARED_LIBS=OFF.
19*da0073e9SAndroid Build Coastguard Worker  :: By default, it will be BUILD_SHARED_LIBS=ON.
20*da0073e9SAndroid Build Coastguard Worker  if NOT DEFINED BUILD_ENVIRONMENT (
21*da0073e9SAndroid Build Coastguard Worker    set BUILD_SHARED_LIBS=OFF
22*da0073e9SAndroid Build Coastguard Worker  )
23*da0073e9SAndroid Build Coastguard Worker)
24*da0073e9SAndroid Build Coastguard Worker
25*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED CAFFE2_STATIC_LINK_CUDA (
26*da0073e9SAndroid Build Coastguard Worker  set CAFFE2_STATIC_LINK_CUDA=OFF
27*da0073e9SAndroid Build Coastguard Worker)
28*da0073e9SAndroid Build Coastguard Worker
29*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED CMAKE_BUILD_TYPE (
30*da0073e9SAndroid Build Coastguard Worker  set CMAKE_BUILD_TYPE=Release
31*da0073e9SAndroid Build Coastguard Worker)
32*da0073e9SAndroid Build Coastguard Worker
33*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED ONNX_NAMESPACE (
34*da0073e9SAndroid Build Coastguard Worker  set ONNX_NAMESPACE=onnx_c2
35*da0073e9SAndroid Build Coastguard Worker)
36*da0073e9SAndroid Build Coastguard Worker
37*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED TORCH_CUDA_ARCH_LIST (
38*da0073e9SAndroid Build Coastguard Worker  set TORCH_CUDA_ARCH_LIST=5.0
39*da0073e9SAndroid Build Coastguard Worker)
40*da0073e9SAndroid Build Coastguard Worker
41*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED USE_CUDA (
42*da0073e9SAndroid Build Coastguard Worker  set USE_CUDA=OFF
43*da0073e9SAndroid Build Coastguard Worker)
44*da0073e9SAndroid Build Coastguard Worker
45*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED USE_OBSERVERS (
46*da0073e9SAndroid Build Coastguard Worker  set USE_OBSERVERS=OFF
47*da0073e9SAndroid Build Coastguard Worker)
48*da0073e9SAndroid Build Coastguard Worker
49*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED MSVC_Z7_OVERRIDE (
50*da0073e9SAndroid Build Coastguard Worker  set MSVC_Z7_OVERRIDE=OFF
51*da0073e9SAndroid Build Coastguard Worker)
52*da0073e9SAndroid Build Coastguard Worker
53*da0073e9SAndroid Build Coastguard Workerif NOT DEFINED CMAKE_GENERATOR (
54*da0073e9SAndroid Build Coastguard Worker  set CMAKE_GENERATOR=Ninja
55*da0073e9SAndroid Build Coastguard Worker)
56*da0073e9SAndroid Build Coastguard Worker
57*da0073e9SAndroid Build Coastguard Workerset CMAKE_VERBOSE_MAKEFILE=1
58*da0073e9SAndroid Build Coastguard Worker
59*da0073e9SAndroid Build Coastguard Worker:: Install pyyaml for Aten codegen
60*da0073e9SAndroid Build Coastguard Workerpip install pyyaml ninja
61*da0073e9SAndroid Build Coastguard Worker
62*da0073e9SAndroid Build Coastguard Workerecho CAFFE2_ROOT=%CAFFE2_ROOT%
63*da0073e9SAndroid Build Coastguard Workerecho CMAKE_GENERATOR=%CMAKE_GENERATOR%
64*da0073e9SAndroid Build Coastguard Workerecho CMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%
65*da0073e9SAndroid Build Coastguard Worker
66*da0073e9SAndroid Build Coastguard Worker:: Set up cmake. We will skip building the test files right now.
67*da0073e9SAndroid Build Coastguard Workerpushd %CAFFE2_ROOT%
68*da0073e9SAndroid Build Coastguard Workerpython tools\build_libtorch.py || goto :label_error
69*da0073e9SAndroid Build Coastguard Workerpopd
70*da0073e9SAndroid Build Coastguard Worker
71*da0073e9SAndroid Build Coastguard Workerecho "Caffe2 built successfully"
72*da0073e9SAndroid Build Coastguard Workercd %ORIGINAL_DIR%
73*da0073e9SAndroid Build Coastguard Workerendlocal
74*da0073e9SAndroid Build Coastguard Workerexit /b 0
75*da0073e9SAndroid Build Coastguard Worker
76*da0073e9SAndroid Build Coastguard Worker:label_error
77*da0073e9SAndroid Build Coastguard Workerecho "Caffe2 building failed"
78*da0073e9SAndroid Build Coastguard Workercd %ORIGINAL_DIR%
79*da0073e9SAndroid Build Coastguard Workerendlocal
80*da0073e9SAndroid Build Coastguard Workerexit /b 1
81