jcefbuild/scripts/run_windows.bat
2021-11-24 01:51:44 +01:00

63 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
:: CMakeLists patching
python C:/patch_cmake.py CMakeLists.txt C:/CMakeLists.txt.patch
:: 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" (set "PATH=C:/jdk-11;%PATH%")
:: Perform build
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:/jdk-11" -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)
:: Go to results
if "%TARGETARCH%"=="386" (cd ../binary_distrib/win32) else (cd ../binary_distrib/win64)
:: Remove wrong jogamp/gluegen natives from archive
if "%TARGETARCH%"=="arm64" (del /F bin\gluegen-rt-natives-windows-amd64.jar && del /F bin\jogl-all-natives-windows-amd64.jar)
:: Zip results to C:\out
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