light/tools/ci/amd64/msvc/unit_tests.ps1
light7734 9cfacb02cd
Some checks reported errors
continuous-integration/drone/push Build was killed
feat(surface): windows api
2026-02-11 11:39:08 +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=Release `
-D CMAKE_EXPORT_COMPILE_COMMANDS=True `
-D CMAKE_CXX_FLAGS="/std:c++latest /EHsc /Zi /Oy- /WX /W4"
cmake --build ./build || $(exit $LASTEXITCODE)
$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
}
}