summaryrefslogtreecommitdiff
path: root/build_release.bat
diff options
context:
space:
mode:
authorIndrajith K L2025-11-03 18:11:34 +0530
committerIndrajith K L2025-11-03 18:11:34 +0530
commit4859c415cc7c2274a642b045ff3016b7aae3dbd1 (patch)
tree7be4f439426874fc0207de87261c955f209b0498 /build_release.bat
parentf4d927aac0f5ce13eca3bc57595d71827b40e657 (diff)
downloadreilua-enhanced-4859c415cc7c2274a642b045ff3016b7aae3dbd1.tar.gz
reilua-enhanced-4859c415cc7c2274a642b045ff3016b7aae3dbd1.tar.bz2
reilua-enhanced-4859c415cc7c2274a642b045ff3016b7aae3dbd1.zip
Add build scripts and Windows icon/resources
Added: - build_dev.bat / build_dev.sh - Development build scripts - build_release.bat / build_release.sh - Release build scripts with embedding - icon.ico - Default Windows icon for executable - resources.rc - Windows resource file for icon and exe metadata - BUILD_SCRIPTS.md - Complete documentation for build scripts Features: - Automated development builds (no embedding, fast iteration) - Automated release builds (with Lua and asset embedding) - Interactive verification and cleanup - Custom icon and version info in Windows executables - Cross-platform scripts (Windows .bat and Unix .sh) - Safety checks and helpful messages The build scripts provide one-command building for both development and release workflows, with clear instructions and progress feedback.
Diffstat (limited to 'build_release.bat')
-rw-r--r--build_release.bat144
1 files changed, 144 insertions, 0 deletions
diff --git a/build_release.bat b/build_release.bat
new file mode 100644
index 0000000..17b76c1
--- /dev/null
+++ b/build_release.bat
@@ -0,0 +1,144 @@
+@echo off
+REM ReiLua Release Build Script
+REM Run this from w64devkit shell or CMD with MinGW in PATH
+
+echo ================================
+echo ReiLua - Release Build
+echo ================================
+echo.
+
+REM Check if we're in the right directory
+if not exist "CMakeLists.txt" (
+ echo ERROR: Please run this script from the ReiLua root directory
+ exit /b 1
+)
+
+REM Navigate to build directory
+cd build
+if errorlevel 1 (
+ echo ERROR: Cannot access build directory
+ exit /b 1
+)
+
+REM Clean old embedded files
+echo Cleaning old embedded files...
+del /Q embedded_main.h embedded_assets.h 2>nul
+
+REM Check for Lua files
+echo.
+echo Checking for Lua files...
+dir /b *.lua >nul 2>&1
+if errorlevel 1 (
+ echo.
+ echo WARNING: No Lua files found in build directory!
+ echo.
+ echo Please copy your Lua files:
+ echo cd build
+ echo copy ..\your_game\*.lua .
+ echo.
+ set /p CONTINUE="Do you want to continue anyway? (y/N): "
+ if /i not "%CONTINUE%"=="y" exit /b 1
+) else (
+ echo Found Lua files:
+ dir /b *.lua
+)
+
+REM Check for assets folder
+echo.
+echo Checking for assets...
+if not exist "assets" (
+ echo.
+ echo WARNING: No assets folder found!
+ echo.
+ echo To embed assets, create the folder and copy files:
+ echo cd build
+ echo mkdir assets
+ echo copy ..\your_game\assets\* assets\
+ echo.
+ set /p CONTINUE="Do you want to continue without assets? (y/N): "
+ if /i not "%CONTINUE%"=="y" exit /b 1
+ set EMBED_ASSETS=OFF
+) else (
+ echo Found assets folder
+ set EMBED_ASSETS=ON
+)
+
+echo.
+echo ================================
+echo Build Configuration
+echo ================================
+echo Lua Embedding: ON
+echo Asset Embedding: %EMBED_ASSETS%
+echo Build Type: Release
+echo ================================
+echo.
+pause
+
+REM Clean CMake cache
+echo.
+echo Cleaning CMake cache...
+del /Q CMakeCache.txt 2>nul
+rmdir /S /Q CMakeFiles 2>nul
+
+REM Configure with embedding enabled
+echo.
+echo Configuring CMake for release...
+cmake -G "MinGW Makefiles" .. -DEMBED_MAIN=ON -DEMBED_ASSETS=%EMBED_ASSETS% -DCMAKE_BUILD_TYPE=Release
+
+if errorlevel 1 (
+ echo.
+ echo ERROR: CMake configuration failed!
+ pause
+ exit /b 1
+)
+
+REM Build
+echo.
+echo Building ReiLua Release...
+mingw32-make
+
+if errorlevel 1 (
+ echo.
+ echo ERROR: Build failed!
+ pause
+ exit /b 1
+)
+
+REM Show summary
+echo.
+echo ================================
+echo Embedded Files Summary
+echo ================================
+
+if exist "embedded_main.h" (
+ echo.
+ echo Embedded Lua files:
+ findstr /C:"Embedded file:" embedded_main.h
+)
+
+if exist "embedded_assets.h" (
+ echo.
+ echo Embedded assets:
+ findstr /C:"Embedded asset:" embedded_assets.h
+)
+
+echo.
+echo ================================
+echo Build Complete!
+echo ================================
+echo.
+echo Executable: ReiLua.exe
+echo Location: %CD%\ReiLua.exe
+echo.
+echo Your game is ready for distribution!
+echo.
+echo To test the release build:
+echo ReiLua.exe --log (with console)
+echo ReiLua.exe (production mode)
+echo.
+echo To distribute:
+echo - Copy ReiLua.exe to your distribution folder
+echo - Rename it to your game name (optional)
+echo - That's it! Single file distribution!
+echo.
+pause