41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
| function Set-FileConfiguration {
 | |
|     param(
 | |
|         [string]$filePath
 | |
|     )
 | |
| 
 | |
|     $debugInfoReplace = "<DebugInformationFormat>(EditAndContinue|ProgramDatabase)</DebugInformationFormat>"
 | |
|     $debugInfoReplaceTo = "<DebugInformationFormat>None</DebugInformationFormat>"
 | |
| 
 | |
|     $optimizationReplace = "<WholeProgramOptimization>true</WholeProgramOptimization>"
 | |
|     $optimizationReplaceTo = "<WholeProgramOptimization>false</WholeProgramOptimization>"
 | |
| 
 | |
|     # Create a copy of .vcxproj file
 | |
|     Copy-Item -Path $filePath -Destination ($filePath + '.template')
 | |
| 
 | |
|     # Overlay some configurations
 | |
|     Get-Content ($filePath + '.template') -Encoding UTF8 | ForEach-Object {
 | |
|         ( $_ -replace $debugInfoReplace, $debugInfoReplaceTo ) -replace $optimizationReplace, $optimizationReplaceTo
 | |
|     } | Out-File $filePath -Encoding UTF8
 | |
| 
 | |
|     # Delete the copy file
 | |
|     Remove-Item -Path ($filePath + '.template')
 | |
| }
 | |
| 
 | |
| Get-ChildItem -Path 'projects\' -Directory | ForEach-Object {
 | |
|     $dirPath = "projects\$($_)"
 | |
| 
 | |
|     # Search all vcxproj files
 | |
|     Get-ChildItem -Path $dirPath *.vcxproj -File | ForEach-Object {
 | |
|         Set-FileConfiguration ($dirPath + '\' + $_)
 | |
|     }
 | |
| }
 | |
| 
 | |
| 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 + '\' + $_)
 | |
|     }
 | |
| }
 |