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.
4.7 KiB
4.7 KiB
Build Scripts Documentation
ReiLua includes automated build scripts for easy development and release builds.
Available Scripts
Development Build Scripts
- Windows:
build_dev.bat - Linux/Unix:
build_dev.sh
Release Build Scripts
- Windows:
build_release.bat - Linux/Unix:
build_release.sh
Development Build
Purpose
Fast iteration during game development with external Lua files and assets.
Usage
Windows:
build_dev.bat
Linux/Unix:
chmod +x build_dev.sh
./build_dev.sh
Features
- ✅ No embedding - loads Lua and assets from file system
- ✅ Fast build times
- ✅ Edit code and assets without rebuilding
- ✅ Automatic cleanup of embedded files
- ✅ Warns if Lua files or assets are in build directory
- ✅ Optional clean build:
build_dev.bat cleanor./build_dev.sh clean
Output
- Development executable:
build/ReiLua.exe - Run your game:
cd your_game && path/to/build/ReiLua.exe - Debug mode:
path/to/build/ReiLua.exe --log
Release Build
Purpose
Create a single-file executable for distribution with all code and assets embedded.
Preparation
Before running the release build, prepare your files:
cd build
# Copy all Lua files
copy ..\your_game\*.lua .
# Or: cp ../your_game/*.lua .
# Copy assets
mkdir assets
copy ..\your_game\assets\* assets\
# Or: cp -r ../your_game/assets/* assets/
Usage
Windows:
build_release.bat
Linux/Unix:
chmod +x build_release.sh
./build_release.sh
Features
- ✅ Embeds all Lua files from
build/directory - ✅ Embeds all assets from
build/assets/folder - ✅ Creates single-file executable
- ✅ Release optimization enabled
- ✅ Verifies Lua files and assets before building
- ✅ Shows summary of embedded files after build
- ✅ Interactive confirmation before building
Output
- Release executable:
build/ReiLua.exe - Ready for distribution - no external dependencies
- Can be renamed to your game name
Build Configuration
The release build automatically configures:
EMBED_MAIN=ON- Embeds all Lua filesEMBED_ASSETS=ON- Embeds all assets (if assets folder exists)CMAKE_BUILD_TYPE=Release- Optimized build
Customizing Your Executable
Adding Custom Icon
- Replace
icon.icowith your own icon file - Keep the same filename or update
resources.rc - Rebuild
Changing Executable Properties
Edit resources.rc to customize:
VALUE "CompanyName", "Your Studio Name"
VALUE "FileDescription", "Your Game Description"
VALUE "ProductName", "Your Game Name"
VALUE "LegalCopyright", "Copyright (C) Your Name, 2025"
Renaming the Executable
Edit CMakeLists.txt:
project( YourGameName ) # Line 6
After building, the executable will be named YourGameName.exe.
Workflow Examples
Development Workflow
# Initial setup
build_dev.bat
# Edit your Lua files in your game directory
# ... make changes ...
# Just run - no rebuild needed!
cd your_game
path\to\build\ReiLua.exe
# If you modify C code, rebuild
build_dev.bat
Release Workflow
# 1. Prepare files
cd build
copy ..\your_game\*.lua .
mkdir assets
copy ..\your_game\assets\* assets\
# 2. Build release
cd ..
build_release.bat
# 3. Test
cd build
ReiLua.exe --log
# 4. Distribute
# Copy build\ReiLua.exe to your distribution folder
Troubleshooting
"CMake configuration failed"
- Ensure CMake is installed and in PATH
- Ensure MinGW is installed and in PATH
- Check
CMakeLists.txtexists in parent directory
"No Lua files found"
- Copy your Lua files to
build/directory before release build - Ensure
main.luaexists (required entry point)
"Build failed"
- Check compiler errors in output
- Ensure all dependencies are installed
- Try clean build:
build_dev.bat clean
Development build embedding warning
- The dev build script warns if it finds Lua files or assets in build/
- These should be removed for development builds
- The script offers to remove them automatically
Script Features
Safety Features
- Checks for correct directory before running
- Validates required files exist
- Warns about potential issues
- Interactive confirmations for release builds
- Automatic cleanup of old embedded files
User Friendly
- Clear progress messages
- Colored output (where supported)
- Helpful error messages
- Pause at end to review results
- Quick reference commands shown after build
Notes
- Development builds are much faster than release builds
- Release builds may take longer due to embedding and optimization
- Always test your release build before distribution
- The scripts work on both Windows (CMD/PowerShell) and Unix shells
- On Unix, make scripts executable:
chmod +x build_*.sh