anchor.diff:  %cache_dir%\tools\busybox64.exe bash cache.sh
   
   set /p md5=< md5.txt
  +if "%WITH_GPU%"=="ON" (
  +    set cuda_version=%CUDA_TOOLKIT_ROOT_DIR:~-4%
  +    set sub_dir=cuda!cuda_version:.=!
  +) else (
  +    set sub_dir=cpu
  +)
  +set THIRD_PARTY_HOME=%cache_dir:\=/%/third_party/%sub_dir%
  +set THIRD_PARTY_PATH=%THIRD_PARTY_HOME%/%md5%
  +
   echo %task_name%|findstr build >nul && (
  -    set THIRD_PARTY_HOME=%cache_dir:\=/%/third_party
  -    set THIRD_PARTY_PATH=!THIRD_PARTY_HOME!/%md5%
       echo %task_name% is a whl-build task, will only reuse local third_party cache.
       goto :cmake_impl
   ) || ( 
       echo %task_name% is a PR-CI-Windows task, will try to reuse bos and local third_party cache both. 
   )
  -
  -if "%WITH_GPU%"=="ON" (
  -    for /F %%# in ('dir /b /d "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\"') do set cuda_version=%%#
  -    set cuda_version=!cuda_version:~-4!
  -    set sub_dir=cuda!cuda_version:.=!
  -) else (
  -    set sub_dir=cpu
  -)
  -set THIRD_PARTY_HOME=%cache_dir:\=/%/third_party/%sub_dir%
  -set THIRD_PARTY_PATH=%THIRD_PARTY_HOME%/%md5%
   
   if not exist %THIRD_PARTY_PATH% (
       echo There is no usable third_party cache in %THIRD_PARTY_PATH%, will download from bos.
  
positive.code: set ON_INFER=ON
  set WITH_TENSORRT=ON
  set WITH_INFERENCE_API_TEST=ON
  
  call :cmake || goto cmake_error
  call :build || goto build_error
  
negative.code: rem set vs language to english to block showIncludes, this need vs has installed English language package.
  set VSLANG=1033
  rem Configure the environment for 64-bit builds. 'DISTUTILS_USE_SDK' indicates that the user has selected the compiler.
  if not defined vcvars64_dir set vcvars64_dir="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
  call %vcvars64_dir%
  
  set DISTUTILS_USE_SDK=1
  rem Windows 10 Kit bin dir
  set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64;%PATH%
  