mirror of
https://github.com/OpenMW/openmw.git
synced 2025-06-01 18:41:31 +00:00
Experiment with symbol server style symbol storage
This commit is contained in:
parent
ad44add658
commit
f98cb67cad
2 changed files with 64 additions and 0 deletions
|
@ -437,6 +437,7 @@ macOS12_Xcode13:
|
||||||
- $env:CCACHE_BASEDIR = Get-Location
|
- $env:CCACHE_BASEDIR = Get-Location
|
||||||
- $env:CCACHE_DIR = "$(Get-Location)\ccache"
|
- $env:CCACHE_DIR = "$(Get-Location)\ccache"
|
||||||
- New-Item -Type Directory -Force -Path $env:CCACHE_DIR
|
- New-Item -Type Directory -Force -Path $env:CCACHE_DIR
|
||||||
|
- New-Item -Type File -Force -Path MSVC2019_64_Ninja\.cmake\api\v1\query\codemodel-v2
|
||||||
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t -C $multiview -E
|
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t -C $multiview -E
|
||||||
- cd MSVC2019_64_Ninja
|
- cd MSVC2019_64_Ninja
|
||||||
- .\ActivateMSVC.ps1
|
- .\ActivateMSVC.ps1
|
||||||
|
@ -448,6 +449,10 @@ macOS12_Xcode13:
|
||||||
- |
|
- |
|
||||||
if (Get-ChildItem -Recurse *.pdb) {
|
if (Get-ChildItem -Recurse *.pdb) {
|
||||||
7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip"))" '*.pdb' CI-ID.txt
|
7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip"))" '*.pdb' CI-ID.txt
|
||||||
|
Push-Location ..
|
||||||
|
..\CI\Store-Symbols.ps1
|
||||||
|
7z a -tzip "..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_sym_store.zip"))" '.\SymStore\*' CI-ID.txt
|
||||||
|
Pop-Location
|
||||||
Get-ChildItem -Recurse *.pdb | Remove-Item
|
Get-ChildItem -Recurse *.pdb | Remove-Item
|
||||||
}
|
}
|
||||||
- 7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}.zip"))" '*'
|
- 7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}.zip"))" '*'
|
||||||
|
@ -539,6 +544,7 @@ macOS12_Xcode13:
|
||||||
- $env:CCACHE_BASEDIR = Get-Location
|
- $env:CCACHE_BASEDIR = Get-Location
|
||||||
- $env:CCACHE_DIR = "$(Get-Location)\ccache"
|
- $env:CCACHE_DIR = "$(Get-Location)\ccache"
|
||||||
- New-Item -Type Directory -Force -Path $env:CCACHE_DIR
|
- New-Item -Type Directory -Force -Path $env:CCACHE_DIR
|
||||||
|
- New-Item -Type File -Force -Path MSVC2019_64\.cmake\api\v1\query\codemodel-v2
|
||||||
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -b -t -C $multiview -E
|
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -b -t -C $multiview -E
|
||||||
- cd MSVC2019_64
|
- cd MSVC2019_64
|
||||||
- cmake --build . --config $config
|
- cmake --build . --config $config
|
||||||
|
@ -549,6 +555,10 @@ macOS12_Xcode13:
|
||||||
- |
|
- |
|
||||||
if (Get-ChildItem -Recurse *.pdb) {
|
if (Get-ChildItem -Recurse *.pdb) {
|
||||||
7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip"))" '*.pdb' CI-ID.txt
|
7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip"))" '*.pdb' CI-ID.txt
|
||||||
|
Push-Location ..
|
||||||
|
..\CI\Store-Symbols.ps1
|
||||||
|
7z a -tzip "..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_sym_store.zip"))" '.\SymStore\*' CI-ID.txt
|
||||||
|
Pop-Location
|
||||||
Get-ChildItem -Recurse *.pdb | Remove-Item
|
Get-ChildItem -Recurse *.pdb | Remove-Item
|
||||||
}
|
}
|
||||||
- 7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}.zip"))" '*'
|
- 7z a -tzip "..\..\$(Make-SafeFileName("OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}.zip"))" '*'
|
||||||
|
|
54
CI/Store-Symbols.ps1
Normal file
54
CI/Store-Symbols.ps1
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
if (-Not (Test-Path CMakeCache.txt))
|
||||||
|
{
|
||||||
|
Write-Error "This script must be run from the build directory."
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-Not (Test-Path .cmake\api\v1\reply))
|
||||||
|
{
|
||||||
|
New-Item -Type File -Force .cmake\api\v1\query\codemodel-v2
|
||||||
|
cmake .
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Push-Location .cmake\api\v1\reply
|
||||||
|
|
||||||
|
$index = Get-Content -Raw index-*.json | ConvertFrom-Json
|
||||||
|
|
||||||
|
$codemodel = Get-Content -Raw $index.reply."codemodel-v2".jsonFile | ConvertFrom-Json
|
||||||
|
|
||||||
|
$targets = @()
|
||||||
|
$codemodel.configurations | ForEach-Object {
|
||||||
|
$_.targets | ForEach-Object {
|
||||||
|
$target = Get-Content -Raw $_.jsonFile | ConvertFrom-Json
|
||||||
|
if ($target.type -eq "EXECUTABLE" -or $target.type -eq "SHARED_LIBRARY")
|
||||||
|
{
|
||||||
|
$targets += $target
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$artifacts = @()
|
||||||
|
$targets | ForEach-Object {
|
||||||
|
$_.artifacts | ForEach-Object {
|
||||||
|
$artifacts += $_.path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Pop-Location
|
||||||
|
}
|
||||||
|
|
||||||
|
$windowsSDKFolder = Get-ItemPropertyValue "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0" InstallationFolder
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$responseFile = New-TemporaryFile
|
||||||
|
$artifacts | Set-Content $responseFile
|
||||||
|
& "$windowsSDKFolder\debuggers\x64\symstore.exe" add /f @$responseFile /s .\SymStore /compress /t "I don't know why /t is needed"
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Remove-Item $responseFile
|
||||||
|
}
|
Loading…
Reference in a new issue