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`. 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 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. - 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 ## Configuration
Configuring the server requires compiling it from its source code as described in the section above. 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
)