1
0
pl-libs/tests/build_win_tests.bat

70 lines
2.3 KiB
Batchfile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@rem keep environment variables modifications local
@setlocal
@rem make script directory CWD
@pushd %~dp0
@set dir=%~dp0
@rem modify PATH to find vcvarsall.bat
@set PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build;%PATH%
@set PATH=C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build;%PATH%
@set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build;%PATH%
@set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build;%PATH%
@set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise/VC\Auxiliary\Build;%PATH%
@rem setup environment for MSVC dev tools
@call vcvarsall.bat amd64 > nul
@rem default compilation result
@set PL_RESULT=Successful.
@rem create main target output directoy
@if not exist "../out" @mkdir "../out"
@echo.
@if exist "../out/pilot_light_test.exe" del "../out/pilot_light_test.exe"
@if exist "../out/pilot_light_test_*.pdb" del "../out/pilot_light_test_*.pdb"
@rem create output directory
@if not exist "../out" @mkdir "../out"
@rem preprocessor defines
@set PL_DEFINES=-D_USE_MATH_DEFINES -D_DEBUG
@rem include directories
@set PL_INCLUDE_DIRECTORIES=-I".." -I"%WindowsSdkDir%Include\um" -I"%WindowsSdkDir%Include\shared"
@rem compiler flags
@set PL_COMPILER_FLAGS=-Zc:preprocessor -nologo -std:c11 -W4 -WX -wd4201 -wd4100 -wd4996 -wd4505 -wd4189 -wd5105 -wd4115 -permissive- -Od -MDd -Zi
@rem run compiler (and linker)
@echo.
@echo Step: pilot_light_test
@echo ~~~~~~~~~~~~~~~~~~~~~~
@echo Compiling and Linking...
@rem call compiler
cl %PL_INCLUDE_DIRECTORIES% %PL_DEFINES% %PL_COMPILER_FLAGS% "main_tests.c" -Fe"../out/pilot_light_test.exe" -Fo"../out/" -link -incremental:no -PDB:"../out/pilot_light_test_%random%.pdb"
@rem check build status
@set PL_BUILD_STATUS=%ERRORLEVEL%
@rem failed
@if %PL_BUILD_STATUS% NEQ 0 (
@echo Compilation Failed with error code: %PL_BUILD_STATUS%
@set PL_RESULT=Failed.
goto Cleanuppilot_light_test
)
@rem cleanup obj files
:Cleanuppilot_light_test
@echo Cleaning...
@del "../out/*.obj" > nul 2> nul
@rem print results
@echo.
@echo Result:  %PL_RESULT%
@echo ~~~~~~~~~~~~~~~~~~~~~~
@rem return CWD to previous CWD
@popd