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