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