17db96d56Sopenharmony_ci@echo off
27db96d56Sopenharmony_cisetlocal
37db96d56Sopenharmony_ciset D=%~dp0
47db96d56Sopenharmony_ciset PCBUILD=%D%..\..\PCbuild\
57db96d56Sopenharmony_ciif "%Py_OutDir%"=="" set Py_OutDir=%PCBUILD%
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciset BUILDX86=
87db96d56Sopenharmony_ciset BUILDX64=
97db96d56Sopenharmony_ciset BUILDARM32=
107db96d56Sopenharmony_ciset REBUILD=
117db96d56Sopenharmony_ciset OUTPUT=
127db96d56Sopenharmony_ciset PACKAGES=
137db96d56Sopenharmony_ciset PYTHON_EXE=
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci:CheckOpts
167db96d56Sopenharmony_ciif "%~1" EQU "-h" goto Help
177db96d56Sopenharmony_ciif "%~1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts
187db96d56Sopenharmony_ciif "%~1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts
197db96d56Sopenharmony_ciif "%~1" EQU "-arm32" (set BUILDARM32=1) && shift && goto CheckOpts
207db96d56Sopenharmony_ciif "%~1" EQU "-r" (set REBUILD=-r) && shift && goto CheckOpts
217db96d56Sopenharmony_ciif "%~1" EQU "-o" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts
227db96d56Sopenharmony_ciif "%~1" EQU "--out" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts
237db96d56Sopenharmony_ciif "%~1" EQU "-p" (set PACKAGES=%PACKAGES% %~2) && shift && shift && goto CheckOpts
247db96d56Sopenharmony_ciif "%~1" EQU "--python-exe" (set PYTHON_EXE="/p:PythonExe=%~2") && shift && shift && goto CheckOpts
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ciif not defined BUILDX86 if not defined BUILDX64 if not defined BUILDARM32 (set BUILDX86=1) && (set BUILDX64=1) && (set BUILDARM32=1)
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_cicall "%D%..\msi\get_externals.bat"
297db96d56Sopenharmony_cicall "%PCBUILD%find_msbuild.bat" %MSBUILD%
307db96d56Sopenharmony_ciif ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable & exit /b 2)
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ciif defined PACKAGES set PACKAGES="/p:Packages=%PACKAGES%"
337db96d56Sopenharmony_ci
347db96d56Sopenharmony_ciif defined BUILDX86 (
357db96d56Sopenharmony_ci    if defined REBUILD ( call "%PCBUILD%build.bat" -e -r
367db96d56Sopenharmony_ci    ) else if not exist "%Py_OutDir%win32\python.exe" call "%PCBUILD%build.bat" -e
377db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ci    %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x86 %OUTPUT% %PACKAGES% %PYTHON_EXE%
407db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
417db96d56Sopenharmony_ci)
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ciif defined BUILDX64 (
447db96d56Sopenharmony_ci    if defined REBUILD ( call "%PCBUILD%build.bat" -p x64 -e -r
457db96d56Sopenharmony_ci    ) else if not exist "%Py_OutDir%amd64\python.exe" call "%PCBUILD%build.bat" -p x64 -e
467db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_ci    %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x64 %OUTPUT% %PACKAGES% %PYTHON_EXE%
497db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
507db96d56Sopenharmony_ci)
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_ciif defined BUILDARM32 (
537db96d56Sopenharmony_ci    if defined REBUILD ( call "%PCBUILD%build.bat" -p ARM -e -r --no-tkinter
547db96d56Sopenharmony_ci    ) else if not exist "%Py_OutDir%arm32\python.exe" call "%PCBUILD%build.bat" -p ARM -e --no-tkinter
557db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ci    %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=ARM %OUTPUT% %PACKAGES% %PYTHON_EXE%
587db96d56Sopenharmony_ci    if errorlevel 1 goto :eof
597db96d56Sopenharmony_ci)
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ciexit /B 0
627db96d56Sopenharmony_ci
637db96d56Sopenharmony_ci:Help
647db96d56Sopenharmony_ciecho build.bat [-x86] [-x64] [--out DIR] [-r] [-h]
657db96d56Sopenharmony_ciecho.
667db96d56Sopenharmony_ciecho    -x86                Build x86 installers
677db96d56Sopenharmony_ciecho    -x64                Build x64 installers
687db96d56Sopenharmony_ciecho    -r                  Rebuild rather than incremental build
697db96d56Sopenharmony_ciecho    --out [DIR]         Override output directory
707db96d56Sopenharmony_ciecho    -h                  Show usage
71