summaryrefslogtreecommitdiff
path: root/scripts/build_release.bat
blob: 17b76c120e5bb44267fb24f182625f9822b5cdaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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