You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
2.1 KiB
108 lines
2.1 KiB
@echo off
|
|
:: Convenience Utility to build projects using olc::PixelGameEngine, using
|
|
:: Emscripten, producing WASM based output.
|
|
::
|
|
:: OneLoneCoder.com 2021 - Released under OLC-3 license
|
|
::
|
|
:: v1.00: Initial Release
|
|
|
|
setlocal enabledelayedexpansion enableextensions
|
|
|
|
:: Customize here ===========================================
|
|
|
|
:: Location of Emscripten SDK
|
|
set EMSDK="e:\pge_ems\emsdk\"
|
|
|
|
:: Location of olc::PixelGameEngine header file
|
|
set OLCPGE=".\"
|
|
set OLCPGE="e:\pge_dev\olcPixelGameEngine_dev\Deploy"
|
|
|
|
:: ==========================================================
|
|
|
|
set WORKINGDIR=%CD%
|
|
|
|
if not exist %EMSDK% (
|
|
echo Error: No Emscripten SDK folder found!
|
|
goto :fail
|
|
)
|
|
|
|
if not exist %OLCPGE% (
|
|
echo Error: Invalid PGE Location!
|
|
goto :fail
|
|
)
|
|
|
|
if "%1"=="build" goto :build
|
|
if "%1"=="run" goto :run
|
|
if "%1"=="clean" goto :clean
|
|
goto :error
|
|
|
|
:build
|
|
:: Configure path variables
|
|
cd %EMSDK%
|
|
call emsdk_env.bat
|
|
|
|
:: Create working folder
|
|
cd %WORKINGDIR%
|
|
if not exist ".\WASM" (
|
|
echo Creating .\WASM output folder
|
|
mkdir ".\WASM"
|
|
)
|
|
|
|
:: Grab all cpp files if no specific file is given
|
|
if "%~2"=="" goto :graball
|
|
set CPP=%~2
|
|
goto :embuild
|
|
|
|
:graball
|
|
echo Gathering *.cpp files from
|
|
echo %CD%
|
|
set CPP=
|
|
for %%x in (%CD%\*.cpp) do set CPP=!CPP! %%x
|
|
set CPP=%CPP:~1%
|
|
|
|
:embuild
|
|
|
|
echo %CPP%
|
|
if exist "./assets" (
|
|
echo Starting Build with assets...
|
|
call em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_LIBPNG=1 %CPP% -o .\WASM\pge.html -I %OLCPGE% --preload-file .\assets
|
|
) else (
|
|
echo Starting Build without assets...
|
|
call em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_LIBPNG=1 %CPP% -o .\WASM\pge.html -I %OLCPGE%
|
|
)
|
|
|
|
echo Build Completed
|
|
goto :success
|
|
|
|
:run
|
|
:: Configure path variables
|
|
cd %EMSDK%
|
|
call emsdk_env.bat
|
|
cd %WORKINGDIR%
|
|
emrun .\WASM\pge.html
|
|
goto :success
|
|
|
|
:clean
|
|
if exist ".\WASM" (
|
|
rmdir /s /q .\WASM
|
|
)
|
|
goto :success
|
|
|
|
:error
|
|
echo Error: Incorrect Input
|
|
goto :fail
|
|
|
|
:success
|
|
echo Exit With Success
|
|
goto :leave
|
|
|
|
:fail
|
|
echo Exit with Failure
|
|
goto :leave
|
|
|
|
:leave
|
|
exit
|
|
|
|
|
|
|
|
|
|
|