create windows build script

* Create build.bat

* Update build.bat

* added error handling

* changed error to match build.sh

* update readme to mention windows build script

---------

Co-authored-by: zyriu1 <Suvkq@hotmail.com>
Co-authored-by: p2r3 <41925384+p2r3@users.noreply.github.com>
This commit is contained in:
Anmol
2025-09-12 21:11:01 +05:30
committed by GitHub
parent 3d02dc02bf
commit 7206dd1b11
2 changed files with 29 additions and 1 deletions

View File

@@ -15,8 +15,8 @@ For microcontrollers, see the section on **compilation** below.
Before compiling, you'll need to dump registry data from a vanilla Minecraft server. Create a folder called `notchian` here, and put a Minecraft server JAR in it. Then, follow [this guide](https://minecraft.wiki/w/Minecraft_Wiki:Projects/wiki.vg_merge/Data_Generators) to dump all of the registries. Finally, run `build_registries.js` with `node`, `bun`, or `deno`.
- To target Linux, install `gcc` and run `build.sh`
- To target Windows, install `gcc` and run `build.bat`
- To target an ESP variant, set up a PlatformIO project and clone this repository on top of it. See **Configuration** below for further steps.
- There's currently no streamlined build process for Windows. Contributions in this area are welcome!
## Configuration
Configuring the server requires compiling it from its source code as described in the section above.

28
build.bat Normal file
View File

@@ -0,0 +1,28 @@
@echo off
setlocal enabledelayedexpansion
if not exist "%~dp0src\registries.h" (
echo Error: 'include/registries.h' is missing.
echo Please follow the 'Compilation' section of the README to generate it.
pause
exit /b 1
)
set "files="
for /f "delims=" %%f in ('dir /b "%~dp0src\*.c" 2^>nul') do (
set "files=!files! "%~dp0src%%f""
)
if "%files%"=="" (
echo No C source files found in "%~dp0src".
echo Add .c files to the src folder and try again.
pause
exit /b 1
)
if exist "%~dp0bareiron.exe" del /q "%~dp0bareiron.exe"
gcc %files% -o "%~dp0bareiron.exe"
if errorlevel 1 (
echo Build failed.
pause
exit /b 1
) else (
echo Build succeeded: "%~dp0bareiron.exe"
pause
)