You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lunarium_OLD/scripts/build.bat

81 lines
2.0 KiB
Batchfile

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
REM This script expects to be run from the parent directory
REM ex. scripts/build.bat
REM Sets the escape char. see for info:
REM https://stackoverflow.com/questions/55891318/how-to-echo-with-different-colors-in-the-windows-command-line-inside-a-for-loop
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
IF not exist build/ (
echo This script needs to be run from the directory above build/
goto END
)
set "DELGUI="
set "RELEASE="
set "DEBINFO="
If "%~1" == "r" set "RELEASE=1"
If "%~2" == "r" set "RELEASE=1"
If "%~1" == "g" set "DELGUI=1"
If "%~2" == "g" set "DELGUI=1"
If "%~1" == "rd" set "DEBINFO=1"
If "%~2" == "rd" set "DEBINFO=1"
IF defined RELEASE (
cmake --build build/ --target ALL_BUILD --config Release
SET BUILD_ERRORLEVEL=!ERRORLEVEL!
IF NOT "!BUILD_ERRORLEVEL!"=="0" (
echo %ESC%[91mBUILD FAILED!%ESC%[0m %BUILD_ERRORLEVEL%
EXIT /B !BUILD_ERRORLEVEL!
)
xcopy /y test_data\engine_state.json build\Release\
xcopy /y src\scripting\internal_scripts\*.wren build\Release\
xcopy /y src\renderer\shaders\* build\Release\*
) ELSE IF defined DEBINFO (
cmake --build build/ --target ALL_BUILD --config RelWithDebInfo
SET BUILD_ERRORLEVEL=!ERRORLEVEL!
IF NOT "!BUILD_ERRORLEVEL!"=="0" (
echo %ESC%[91mBUILD FAILED!%ESC%[0m %BUILD_ERRORLEVEL%
EXIT /B !BUILD_ERRORLEVEL!
)
xcopy /y test_data\engine_state.json build\RelWithDebInfo\
xcopy /y src\scripting\internal_scripts\*.wren build\RelWithDebInfo\
xcopy /y src\renderer\shaders\* build\RelWithDebInfo\*
) ELSE (
cmake --build build/ --target ALL_BUILD --config Debug
SET BUILD_ERRORLEVEL=!ERRORLEVEL!
IF NOT "!BUILD_ERRORLEVEL!"=="0" (
echo %ESC%[91mBUILD FAILED!%ESC%[0m %BUILD_ERRORLEVEL%
EXIT /B !BUILD_ERRORLEVEL!
)
xcopy /y test_data\engine_state.json build\Debug\
xcopy /y src\scripting\internal_scripts\*.wren build\Debug\
xcopy /y src\renderer\shaders\* build\Debug\*
)
echo %ESC%[92mBUILD SUCCEEDED!%ESC%[0m
IF defined DELGUI (
del /s /q build\Debug\imgui.ini
del /s /q build\Release\imgui.ini
)
:END
ENDLOCAL