light/tools/ci/amd64/msvc/unit_tests.ps1
light7734 3e2b94ec58
Some checks reported errors
continuous-integration/drone/push Build was killed
ci(amd64/msvc): setup vulkan env variables
2026-02-02 13:43:42 +03:30

41 lines
1.2 KiB
PowerShell

# @ref https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-by-category
# @todo(Light): fetch path and uuid from environment
Import-Module 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\Common7\Tools\Microsoft.VisualStudio.DevShell.dll'
Enter-VsDevShell 1a3e2aa7 -SkipAutomaticLocation -DevCmdArguments '-arch=x64 -host_arch=x64'
$env:VULKAN_SDK = "C:\VulkanSDK\1.4.335.0"
$env:PATH = "$env:VULKAN_SDK\Bin;$env:PATH"
$env:INCLUDE = "$env:VULKAN_SDK\Include;$env:INCLUDE"
$env:LIB = "$env:VULKAN_SDK\Lib;$env:LIB"
$env:LIBPATH = "$env:VULKAN_SDK\Lib;$env:LIBPATH"
if (Test-Path "./build") {
Remove-Item "./build" -r -force
}
cmake `
-S . `
-B build `
-G Ninja `
-D ENABLE_UNIT_TESTS=ON `
-D CMAKE_BUILD_TYPE=Debug `
-D CMAKE_EXPORT_COMPILE_COMMANDS=True `
-D CMAKE_CXX_FLAGS="/std:c++latest /EHsc /Zi /Oy- /WX /W4"
cmake --build ./build
$tests = Get-ChildItem -Path "./build" -Recurse -File | Where-Object {
$_.Name -like "*_tests.exe"
}
foreach ($test in $tests) {
Write-Host ""
Write-Host "| $($test.BaseName) |"
& $test.FullName
if ($LASTEXITCODE -ne 0) {
Write-Error "Test $($test.Name) failed! T_T"
exit $LASTEXITCODE
}
}