diff --git a/appveyor.yml b/appveyor.yml
index 2a596b6..2f2c0e6 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,5 @@
image:
+ - Visual Studio 2022
- Visual Studio 2019
- Visual Studio 2017
- Visual Studio 2015
@@ -10,11 +11,13 @@ build_script:
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { .\scripts\nuget_build.ps1 2015}
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\scripts\nuget_build.ps1 2017}
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") { .\scripts\nuget_build.ps1 2019}
+ - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2022") { .\scripts\nuget_build.ps1 2022}
test_script:
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { .\tests\autotest-appveyor.ps1 9 10 11 12 14 }
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\tests\autotest-appveyor.ps1 15 }
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") { .\tests\autotest-appveyor.ps1 19 }
+ - ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2022") { .\tests\autotest-appveyor.ps1 22 }
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { & C:\cygwin\bin\bash.exe -c "PATH=/usr/bin:/usr/local/bin:$PATH; make config=coverage test && bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov 2>&1" }
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { & C:\cygwin\bin\bash.exe -c "PATH=/usr/bin:/usr/local/bin:$PATH; make config=coverage defines=PUGIXML_WCHAR_MODE test && bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov 2>&1" }
diff --git a/scripts/nuget/pugixml.nuspec b/scripts/nuget/pugixml.nuspec
index d76b34c..2b383a1 100644
--- a/scripts/nuget/pugixml.nuspec
+++ b/scripts/nuget/pugixml.nuspec
@@ -11,7 +11,7 @@
https://pugixml.org/
pugixml is a C++ XML processing library, which consists of a DOM-like interface with rich traversal/modification capabilities, an extremely fast XML parser which constructs the DOM tree from an XML file/buffer, and an XPath 1.0 implementation for complex data-driven tree queries. Full Unicode support is also available, with Unicode interface variants and conversions between different Unicode encodings (which happen automatically during parsing/saving).
pugixml is used by a lot of projects, both open-source and proprietary, for performance and easy-to-use interface.
-This package contains builds for VS2013, VS2015, VS2017 and VS2019, for both statically linked and DLL CRT; you can switch the CRT linkage in Project -> Properties -> Referenced Packages -> pugixml.
+This package contains builds for VS2013, VS2015, VS2017, VS2019 and VS2022, for both statically linked and DLL CRT; you can switch the CRT linkage in Project -> Properties -> Referenced Packages -> pugixml.
Light-weight, simple and fast XML parser for C++ with XPath support
https://pugixml.org/docs/manual.html#changes
Copyright (c) 2006-2020 Arseny Kapoulkine
diff --git a/scripts/nuget_build.ps1 b/scripts/nuget_build.ps1
index 7368f3b..30cbebe 100644
--- a/scripts/nuget_build.ps1
+++ b/scripts/nuget_build.ps1
@@ -35,7 +35,11 @@ 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 2019){
+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"
diff --git a/scripts/pugixml_vs2022.vcxproj b/scripts/pugixml_vs2022.vcxproj
new file mode 100644
index 0000000..efb1350
--- /dev/null
+++ b/scripts/pugixml_vs2022.vcxproj
@@ -0,0 +1,172 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ pugixml
+ 10.0
+
+
+
+ StaticLibrary
+ true
+ v143
+ Unicode
+
+
+ StaticLibrary
+ false
+ v143
+ false
+ Unicode
+
+
+ StaticLibrary
+ true
+ v143
+ Unicode
+
+
+ StaticLibrary
+ false
+ v143
+ false
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vs2022\$(Platform)_$(Configuration)\
+ vs2022\$(Platform)_$(Configuration)\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)\
+ vs2022\$(Platform)_$(Configuration)\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)\
+ vs2022\$(Platform)_$(Configuration)\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)\
+ vs2022\$(Platform)_$(Configuration)\
+ pugixml
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ false
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ false
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/pugixml_vs2022_static.vcxproj b/scripts/pugixml_vs2022_static.vcxproj
new file mode 100644
index 0000000..065a9dc
--- /dev/null
+++ b/scripts/pugixml_vs2022_static.vcxproj
@@ -0,0 +1,176 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ pugixml
+ 10.0
+
+
+
+ StaticLibrary
+ true
+ v143
+ Unicode
+
+
+ StaticLibrary
+ false
+ v143
+ false
+ Unicode
+
+
+ StaticLibrary
+ true
+ v143
+ Unicode
+
+
+ StaticLibrary
+ false
+ v143
+ false
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vs2022\$(Platform)_$(Configuration)Static\
+ vs2022\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)Static\
+ vs2022\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)Static\
+ vs2022\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2022\$(Platform)_$(Configuration)Static\
+ vs2022\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ false
+ MultiThreadedDebug
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ false
+ MultiThreadedDebug
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pdb
+ OldStyle
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/autotest-appveyor.ps1 b/tests/autotest-appveyor.ps1
index dfed8c5..24736ef 100644
--- a/tests/autotest-appveyor.ps1
+++ b/tests/autotest-appveyor.ps1
@@ -18,15 +18,18 @@ foreach ($vs in $args)
{
Write-Output "# Setting up VS$vs $arch"
- if ($vs -eq 15)
- {
+ if ($vs -eq 15) {
$vsdevcmdarch = if ($arch -eq "x64") { "amd64" } else { "x86" }
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" "-arch=$vsdevcmdarch"
}
- elseif ($vs -eq 19){
+ elseif ($vs -eq 19) {
$vsdevcmdarch = if ($arch -eq "x64") { "amd64" } else { "x86" }
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" "-arch=$vsdevcmdarch"
}
+ elseif ($vs -eq 22) {
+ $vsdevcmdarch = if ($arch -eq "x64") { "amd64" } else { "x86" }
+ Invoke-CmdScript "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" "-arch=$vsdevcmdarch"
+ }
else
{
Invoke-CmdScript "C:\Program Files (x86)\Microsoft Visual Studio $vs.0\VC\vcvarsall.bat" $arch