jcefbuild/scripts/run_windows.bat
2021-11-18 01:03:58 +01:00

72 lines
2.4 KiB
Batchfile

@echo off
if "%TARGETARCH%"=="386" (echo "Building 32-bit version") ^
else (echo "Building 64-bit version")
:: Update ssl certs
certutil -generateSSTFromWU roots.sst && certutil -addstore -f root roots.sst && del roots.sst
:: Check residency of workdir
cd ..
if exist "jcef\README.md" (echo "Found existing files to build" && cd jcef) ^
else (echo "Did not find files to build - cloning..." && GOTO :CLONE)
:BUILD
:: Temporary CMakeLists patching - beautify in the future
del /f CMakeLists.txt
curl -o CMakeLists.txt https://raw.githubusercontent.com/jcefmaven/jcefbuild/master/CMakeLists.txt
:: Prepare build dir
mkdir jcef_build && cd jcef_build
:: Load vcvars for 32 or 64-bit builds
if "%TARGETARCH%"=="386" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars32.bat")
if "%TARGETARCH%"=="amd64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat")
if "%TARGETARCH%"=="arm64" (call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsamd64_arm64.bat")
:: Edit PATH variable on 386 to use 32 bit jdk (cmake findjni does not actually care about JAVA_HOME)
if "%TARGETARCH%"=="386" (set "PATH=C:/Program Files (x86)/Java/jdk1.8.0_211;%PATH%")
if "%TARGETARCH%"=="arm64" (goto :ARMJVM)
:: Perform build
:CONTBUILD
if "%TARGETARCH%"=="386" (cmake -G "Ninja" -DJAVA_HOME="C:/Program Files (x86)/Java/jdk1.8.0_211" -DCMAKE_BUILD_TYPE=%BUILD_TYPE% ..)
if "%TARGETARCH%"=="amd64" (cmake -G "Ninja" -DJAVA_HOME="C:/Program Files/Java/jdk1.8.0_211" -DCMAKE_BUILD_TYPE=%BUILD_TYPE% ..)
if "%TARGETARCH%"=="arm64" (cmake -G "Ninja" -DJAVA_HOME="C:/arm64jdk/%JDK%" -DCMAKE_BUILD_TYPE=%BUILD_TYPE% ..)
ninja -j4
:: Compile java classes
cd ../tools
if "%TARGETARCH%"=="386" (call compile.bat win32) else (call compile.bat win64)
:: Create distribution
if "%TARGETARCH%"=="386" (call make_distrib.bat win32) else (call make_distrib.bat win64)
:: Zip results to C:\out
if "%TARGETARCH%"=="386" (cd ../binary_distrib/win32) else (cd ../binary_distrib/win64)
del /F C:\out\binary_distrib.tar.gz
if not exist "C:\out" mkdir "C:\out"
tar -czvf C:\out\binary_distrib.tar.gz *
GOTO :EOF
:CLONE
if exist jcef rmdir /S /Q jcef
git clone %REPO% jcef
cd jcef
git checkout %REF%
GOTO :BUILD
:ARMJVM
dir C:\arm64jdk
FOR %%F IN (C:\arm64jdk\*) DO (
set JDK=%%F
goto cont
)
:cont
set "PATH=C:/arm64jdk/%JDK%;%PATH%"
echo %PATH%
GOTO :CONTBUILD