diff dep/pugixml/scripts/nuget_build.ps1 @ 55:d10b6c6b432e

add xml lib, we will need to use it eventually
author Paper <mrpapersonic@gmail.com>
date Tue, 26 Sep 2023 12:37:08 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dep/pugixml/scripts/nuget_build.ps1	Tue Sep 26 12:37:08 2023 -0400
@@ -0,0 +1,70 @@
+function Run-Command([string]$cmd)
+{
+	Invoke-Expression $cmd
+	if ($LastExitCode) { exit $LastExitCode }
+}
+
+function Force-Copy([string]$from, [string]$to)
+{
+	Write-Host $from "->" $to
+	New-Item -Force $to | Out-Null
+	Copy-Item -Force $from $to
+	if (! $?) { exit 1 }
+}
+
+function Build-Version([string]$vs, [string]$toolset, [string]$linkage)
+{
+	$prjsuffix = if ($linkage -eq "static") { "_static" } else { "" }
+	$cfgsuffix = if ($linkage -eq "static") { "Static" } else { "" }
+
+	foreach ($configuration in "Debug","Release")
+	{
+		Run-Command "msbuild pugixml_$vs$prjsuffix.vcxproj /t:Rebuild /p:Configuration=$configuration /p:Platform=x86 /v:minimal /nologo"
+		Run-Command "msbuild pugixml_$vs$prjsuffix.vcxproj /t:Rebuild /p:Configuration=$configuration /p:Platform=x64 /v:minimal /nologo"
+
+		Force-Copy "$vs/Win32_$configuration$cfgsuffix/pugixml.lib" "nuget/build/native/lib/Win32/$toolset/$linkage/$configuration/pugixml.lib"
+		Force-Copy "$vs/x64_$configuration$cfgsuffix/pugixml.lib" "nuget/build/native/lib/x64/$toolset/$linkage/$configuration/pugixml.lib"
+	}
+}
+
+Push-Location
+$scriptdir = Split-Path $MyInvocation.MyCommand.Path
+cd $scriptdir
+
+Force-Copy "../src/pugiconfig.hpp" "nuget/build/native/include/pugiconfig.hpp"
+Force-Copy "../src/pugixml.hpp" "nuget/build/native/include/pugixml.hpp"
+Force-Copy "../src/pugixml.cpp" "nuget/build/native/include/pugixml.cpp"
+
+if ($args[0] -eq 2022){
+	Build-Version "vs2022" "v143" "dynamic"
+	Build-Version "vs2022" "v143" "static"
+
+} elseif ($args[0] -eq 2019){
+	Build-Version "vs2019" "v142" "dynamic"
+	Build-Version "vs2019" "v142" "static"
+
+} elseif ($args[0] -eq 2017){
+	Build-Version "vs2017" "v141" "dynamic"
+	Build-Version "vs2017" "v141" "static"
+
+	Build-Version "vs2015" "v140" "dynamic"
+	Build-Version "vs2015" "v140" "static"
+
+	Build-Version "vs2013" "v120" "dynamic"
+	Build-Version "vs2013" "v120" "static"
+
+} elseif($args[0] -eq 2015){
+	Build-Version "vs2015" "v140" "dynamic"
+	Build-Version "vs2015" "v140" "static"
+
+	Build-Version "vs2013" "v120" "dynamic"
+	Build-Version "vs2013" "v120" "static"
+
+} elseif($args[0] -eq 2013){
+	Build-Version "vs2013" "v120" "dynamic"
+	Build-Version "vs2013" "v120" "static"
+}
+
+Run-Command "nuget pack nuget"
+
+Pop-Location