diff options
| author | 2018-08-07 00:54:47 -0400 | |
|---|---|---|
| committer | 2018-08-07 00:54:47 -0400 | |
| commit | 48c26543126bdd028b8b02b0a69313147ed281e2 (patch) | |
| tree | 0ae4d20f33ca42bd9ded39b52efb51203a6b49f0 /build_win.bat | |
| parent | Silence some more msvc errors. (diff) | |
Local changes.
Diffstat (limited to 'build_win.bat')
| -rw-r--r-- | build_win.bat | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/build_win.bat b/build_win.bat new file mode 100644 index 00000000..dcee10b4 --- /dev/null +++ b/build_win.bat @@ -0,0 +1,98 @@ +@rem Build dst on windows +@rem +@rem Open a "Windows SDK Command Shell" and cd to the dst directory +@rem Then run this script with no arguments to build the executable + +@echo off + +@rem Ensure correct command prompt +@if not defined INCLUDE goto :BADCMD + +@rem Sub commands +@if "%1"=="help" goto HELP +@if "%1"=="clean" goto CLEAN +@if "%1"=="test" goto TEST + +@rem Set compile and link options here +@setlocal +@set DST_COMPILE=cl /nologo /Isrc\include /c /O2 /W3 /LD /D_CRT_SECURE_NO_WARNINGS +@set DST_LINK=link /nologo + +mkdir build +mkdir build\core +mkdir build\mainclient + +@rem Build the xxd tool for generating sources +@cl /nologo /c src/tools/xxd.c /Fobuild\xxd.obj +@if errorlevel 1 goto :BUILDFAIL +@link /nologo /out:build\xxd.exe build\xxd.obj +@if errorlevel 1 goto :BUILDFAIL + +@rem Generate the headers +@build\xxd.exe src\core\core.dst src\include\generated\core.h dst_gen_core +@if errorlevel 1 goto :BUILDFAIL +@build\xxd.exe src\mainclient\init.dst src\include\generated\init.h dst_gen_init +@if errorlevel 1 goto :BUILDFAIL + +@rem Build the sources +for %%f in (src\core\*.c) do ( + @%DST_COMPILE% /Fobuild\core\%%~nf.obj %%f + @if errorlevel 1 goto :BUILDFAIL +) + +@rem Build the main client +for %%f in (src\mainclient\*.c) do ( + @%DST_COMPILE% /Fobuild\mainclient\%%~nf.obj %%f + @if errorlevel 1 goto :BUILDFAIL +) + +@rem Link everything to main client +%DST_LINK% /out:dst.exe build\core\*.obj build\mainclient\*.obj +@if errorlevel 1 goto :BUILDFAIL + +echo === Successfully built dst.exe for Windows === +echo === Run 'build_win test' to run tests. == +echo === Run 'build_win clean' to delete build artifacts. === +exit /b 0 + +@rem Not using correct command line +:BADCMD +@echo You must open a "Visual Studio .NET Command Prompt" to run this script +exit /b 1 + +@rem Show help +:HELP +@echo. +@echo Usage: build_windows [subcommand=clean,help,test] +@echo. +@echo Script to build dst on windows. Must be run from the Visual Studio +@echo command prompt. +exit /b 0 + +@rem Clean build artifacts +:CLEAN +del dst.exe dst.exp dst.lib +rd /s /q build +exit /b 0 + +@rem Run tests +:TEST +for %%f in (test/suite*.dst) do ( + dst.exe test\%%f + @if errorlevel 1 goto :TESTFAIL +) +exit /b 0 +:TESTFAIL +@echo. +@echo ******************************************************* +@echo *** Tests FAILED -- Please check the error messages *** +@echo ******************************************************* +exit /b 1 + +@rem Build failed +:BUILDFAIL +@echo. +@echo ******************************************************* +@echo *** Build FAILED -- Please check the error messages *** +@echo ******************************************************* +exit /b 1 |
