| @echo on |
| |
| SETLOCAL ENABLEDELAYEDEXPANSION |
| |
| SET PATH=C:\python36;C:\Program Files\cmake\bin;%PATH% |
| SET SRC=%cd%\git\SwiftShader |
| |
| cd %SRC% || goto :error |
| |
| REM Lower the amount of debug info, to reduce Kokoro build times. |
| SET LESS_DEBUG_INFO=1 |
| |
| cd %SRC%\build || goto :error |
| |
| REM The currently used OS image comes with CMake 3.17.3. If a newer version is |
| REM required one can update the image (go/radial/kokoro_windows_image), or |
| REM uncomment the line below. |
| REM choco upgrade cmake -y --limit-output --no-progress |
| cmake --version |
| |
| rem To use ninja with CMake requires VC env vars |
| call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" |
| rem That batch file turned echo off, so turn it back on |
| @echo on |
| |
| rem Note that we need to specify the C and C++ compiler only because Cygwin is in PATH and CMake finds GCC and picks that over MSVC |
| cmake .. ^ |
| -G "%CMAKE_GENERATOR_TYPE%" ^ |
| -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" ^ |
| "-DREACTOR_BACKEND=%REACTOR_BACKEND%" ^ |
| "-DSWIFTSHADER_LLVM_VERSION=%LLVM_VERSION%" ^ |
| "-DREACTOR_VERIFY_LLVM_IR=1" ^ |
| "-DLESS_DEBUG_INFO=%LESS_DEBUG_INFO%" ^ |
| "-DSWIFTSHADER_BUILD_BENCHMARKS=1" || goto :error |
| |
| cmake --build . --config %BUILD_TYPE% || goto :error |
| |
| REM Run the unit tests. Some must be run from project root |
| cd %SRC% || goto :error |
| SET SWIFTSHADER_DISABLE_DEBUGGER_WAIT_DIALOG=1 |
| |
| build\ReactorUnitTests.exe || goto :error |
| build\system-unittests.exe || goto :error |
| build\vk-unittests.exe || goto :error |
| |
| REM Incrementally build and run rr::Print unit tests |
| cd %SRC%\build || goto :error |
| cmake "-DREACTOR_ENABLE_PRINT=1" .. || goto :error |
| cmake --build . --config %BUILD_TYPE% --target ReactorUnitTests || goto :error |
| ReactorUnitTests.exe --gtest_filter=ReactorUnitTests.Print* || goto :error |
| cmake "-DREACTOR_ENABLE_PRINT=0" .. || goto :error |
| |
| REM Incrementally build with REACTOR_EMIT_ASM_FILE and run unit test |
| cd %SRC%\build || goto :error |
| cmake "-DREACTOR_EMIT_ASM_FILE=1" .. || goto :error |
| cmake --build . --config %BUILD_TYPE% --target ReactorUnitTests || goto :error |
| ReactorUnitTests.exe --gtest_filter=ReactorUnitTests.EmitAsm || goto :error |
| cmake "-DREACTOR_EMIT_ASM_FILE=0" .. || goto :error |
| |
| REM Incrementally build with REACTOR_EMIT_DEBUG_INFO to ensure it builds |
| REM cd %SRC%\build || goto :error |
| REM cmake "-DREACTOR_EMIT_DEBUG_INFO=1" .. || goto :error |
| REM cmake --build . --config %BUILD_TYPE% --target ReactorUnitTests || goto :error |
| REM cmake "-DREACTOR_EMIT_DEBUG_INFO=0" .. || goto :error |
| |
| REM Incrementally build with REACTOR_EMIT_PRINT_LOCATION to ensure it builds |
| REM cd %SRC%\build || goto :error |
| REM cmake "-DREACTOR_EMIT_PRINT_LOCATION=1" .. || goto :error |
| REM cmake --build . --config %BUILD_TYPE% --target ReactorUnitTests || goto :error |
| REM cmake "-DREACTOR_EMIT_PRINT_LOCATION=0" .. || goto :error |
| |
| exit /b 0 |
| |
| :error |
| exit /b !ERRORLEVEL! |