Magic_Game/scripts/appveyor/clear_project_configuration...

41 lines
1.4 KiB
PowerShell
Raw Normal View History

2019-10-08 14:25:33 +08:00
function Set-FileConfiguration {
param(
[string]$filePath
)
2019-08-18 22:49:44 +08:00
2019-12-31 10:37:29 +08:00
$debugInfoReplace = "<DebugInformationFormat>(EditAndContinue|ProgramDatabase)</DebugInformationFormat>"
$debugInfoReplaceTo = "<DebugInformationFormat>None</DebugInformationFormat>"
$optimizationReplace = "<WholeProgramOptimization>true</WholeProgramOptimization>"
$optimizationReplaceTo = "<WholeProgramOptimization>false</WholeProgramOptimization>"
2019-08-20 14:55:36 +08:00
# Create a copy of .vcxproj file
2019-08-18 22:49:44 +08:00
Copy-Item -Path $filePath -Destination ($filePath + '.template')
2019-08-20 14:55:36 +08:00
# Overlay some configurations
2019-12-31 10:37:29 +08:00
Get-Content ($filePath + '.template') -Encoding UTF8 | ForEach-Object {
( $_ -replace $debugInfoReplace, $debugInfoReplaceTo ) -replace $optimizationReplace, $optimizationReplaceTo
} | Out-File $filePath -Encoding UTF8
2019-08-20 14:55:36 +08:00
# Delete the copy file
2019-08-18 23:19:51 +08:00
Remove-Item -Path ($filePath + '.template')
2019-08-18 22:49:44 +08:00
}
2019-10-08 14:25:33 +08:00
Get-ChildItem -Path 'projects\' -Directory | ForEach-Object {
$dirPath = "projects\$($_)"
# Search all vcxproj files
Get-ChildItem -Path $dirPath *.vcxproj -File | ForEach-Object {
2019-10-08 14:38:17 +08:00
Set-FileConfiguration ($dirPath + '\' + $_)
2019-10-08 14:25:33 +08:00
}
}
2019-12-31 10:37:29 +08:00
Get-ChildItem -Path 'projects\3rd-party' -Directory | ForEach-Object {
$dirPath = "projects\3rd-party\$($_)"
# Search all vcxproj files
Get-ChildItem -Path $dirPath *.vcxproj -File | ForEach-Object {
Set-FileConfiguration ($dirPath + '\' + $_)
}
}