diff --git a/tools/gensrc/remove-all-arm64.bat b/tools/gensrc/remove-all-arm64.bat new file mode 100644 index 00000000..fde5b062 --- /dev/null +++ b/tools/gensrc/remove-all-arm64.bat @@ -0,0 +1,16 @@ +@echo off + +setlocal +setlocal EnableDelayedExpansion + +cd %~dp0..\.. +for /r %%f in (*.vcxproj) do ( + echo %%f + powershell -NoProfile -ExecutionPolicy Bypass -Command "& '%~dp0remove-vcxproj-config.ps1' -Path '%%f' -ProjectConfiguration '|ARM64' +) + +for /r %%f in (*.sln) do ( + echo %%f + findstr /V /C:"|ARM64" "%%f" > "%%f.new" + move /Y "%%f.new" "%%f" >nul +) diff --git a/tools/gensrc/remove-vcxproj-config.ps1 b/tools/gensrc/remove-vcxproj-config.ps1 new file mode 100644 index 00000000..d5d69e38 --- /dev/null +++ b/tools/gensrc/remove-vcxproj-config.ps1 @@ -0,0 +1,20 @@ +param ( + [Parameter(Mandatory)][string]$Path, + [Parameter(Mandatory)][string[]]$ProjectConfiguration +) + +$file = Get-Item $Path + +$xmlob = New-Object xml +$xmlob.PreserveWhitespace = $true +$xmlob.Load($file.FullName) + +$xmlns = @{"msbuild" = "http://schemas.microsoft.com/developer/msbuild/2003"} +$configs = Select-Xml -Xml $xmlob -Namespace $xmlns ` + -XPath "//msbuild:ProjectConfiguration[contains(@Include,'$ProjectConfiguration')]" +foreach ($config in $configs) { + $child = $config.Node + [void]$child.ParentNode.RemoveChild($child) +} + +$xmlob.Save($file.FullName)