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