GroveEngine/build_renderer.bat
StillHammer d63d8d83fa feat: Add BgfxRenderer module skeleton
- Add complete BgfxRenderer module structure (24 files)
- RHI abstraction layer (no bgfx:: exposed outside BgfxDevice.cpp)
- Frame system with lock-free allocator
- RenderGraph with ClearPass, SpritePass, DebugPass
- SceneCollector for IIO message parsing (render:* topics)
- ResourceCache with thread-safe texture/shader caching
- Full IModule integration (config via IDataNode, comm via IIO)
- CMake with FetchContent for bgfx
- Windows build script (build_renderer.bat)
- Documentation (README.md, USER_GUIDE.md, PLAN_BGFX_RENDERER.md)
- Updated .gitignore for Windows builds

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 00:41:55 +08:00

114 lines
2.8 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
:: ============================================================================
:: GroveEngine - BgfxRenderer Build Script for Windows
:: ============================================================================
echo.
echo ============================================
echo GroveEngine - BgfxRenderer Builder
echo ============================================
echo.
:: Check if cmake is available
where cmake >nul 2>nul
if %ERRORLEVEL% neq 0 (
echo [ERROR] CMake not found in PATH
echo Install CMake from https://cmake.org/download/
echo Or install via: winget install Kitware.CMake
pause
exit /b 1
)
:: Set build directory
set BUILD_DIR=build-win
:: Parse arguments
set CONFIG=Release
set CLEAN=0
set OPEN_VS=0
:parse_args
if "%~1"=="" goto end_parse
if /i "%~1"=="debug" set CONFIG=Debug
if /i "%~1"=="release" set CONFIG=Release
if /i "%~1"=="clean" set CLEAN=1
if /i "%~1"=="vs" set OPEN_VS=1
if /i "%~1"=="--help" goto show_help
if /i "%~1"=="-h" goto show_help
shift
goto parse_args
:end_parse
:: Clean if requested
if %CLEAN%==1 (
echo [INFO] Cleaning build directory...
if exist %BUILD_DIR% rmdir /s /q %BUILD_DIR%
)
:: Configure
echo [INFO] Configuring CMake (%CONFIG%)...
cmake -B %BUILD_DIR% -DGROVE_BUILD_BGFX_RENDERER=ON -DGROVE_BUILD_TESTS=OFF
if %ERRORLEVEL% neq 0 (
echo [ERROR] CMake configuration failed
pause
exit /b 1
)
:: Open VS if requested
if %OPEN_VS%==1 (
echo [INFO] Opening Visual Studio...
start "" "%BUILD_DIR%\GroveEngine.sln"
exit /b 0
)
:: Build
echo.
echo [INFO] Building BgfxRenderer (%CONFIG%)...
cmake --build %BUILD_DIR% --config %CONFIG% --target BgfxRenderer -j
if %ERRORLEVEL% neq 0 (
echo.
echo [ERROR] Build failed
pause
exit /b 1
)
:: Success
echo.
echo ============================================
echo Build successful!
echo ============================================
echo.
echo Output: %BUILD_DIR%\modules\%CONFIG%\libBgfxRenderer.dll
echo.
echo Usage:
echo build_renderer.bat - Build Release
echo build_renderer.bat debug - Build Debug
echo build_renderer.bat clean - Clean and rebuild
echo build_renderer.bat vs - Open in Visual Studio
echo.
exit /b 0
:show_help
echo.
echo Usage: build_renderer.bat [options]
echo.
echo Options:
echo debug Build in Debug mode
echo release Build in Release mode (default)
echo clean Clean build directory before building
echo vs Generate and open Visual Studio solution
echo --help Show this help
echo.
echo Examples:
echo build_renderer.bat
echo build_renderer.bat debug
echo build_renderer.bat clean release
echo build_renderer.bat vs
echo.
exit /b 0