diff --git a/.gitignore b/.gitignore
index 01f9cb9..653fa51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-build/
-.vscode/
\ No newline at end of file
+/build/
+/.vscode/
diff --git a/appveyor.yml b/appveyor.yml
index 51adf2e..efae639 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -4,12 +4,6 @@ image:
version: "{branch}-{build}"
-install:
- - ps: (new-object net.webclient).DownloadFile('http://coapp.org/files/CoApp.Tools.Powershell.msi', 'C:\CoApp.Tools.Powershell.msi')
- - ps: Start-Process -FilePath msiexec -ArgumentList /i, 'C:\CoApp.Tools.Powershell.msi', /quiet -Wait
- - ps: $env:PSModulePath = $env:PSModulePath + ';C:\Program Files (x86)\Outercurve Foundation\Modules'
- - ps: Import-Module CoApp
-
build_script:
- ps: if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { .\scripts\nuget_build.ps1 }
diff --git a/scripts/nuget.autopkg b/scripts/nuget.autopkg
deleted file mode 100644
index 27f0ec8..0000000
--- a/scripts/nuget.autopkg
+++ /dev/null
@@ -1,46 +0,0 @@
-configurations {
- Toolset {
- key: "PlatformToolset";
- choices: { v141, v140, v120, v110, v100 };
- }
-}
-nuget {
- nuspec {
- id = pugixml;
- version: 1.8.0-appveyor;
-
- authors: {Arseny Kapoulkine};
- owners: {Arseny Kapoulkine};
-
- projectUrl: "http://pugixml.org/";
- iconUrl: "https://github.com/zeux/pugixml/logo.svg";
-
- title: pugixml;
- summary: "Light-weight, simple and fast XML parser for C++ with XPath support";
- releaseNotes: "http://pugixml.org/docs/manual.html#changes";
- copyright: "Copyright (c) 2006-2017 Arseny Kapoulkine";
- licenseUrl: "http://pugixml.org/license.html";
- requireLicenseAcceptance: false;
-
- description: @"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.";
-
- tags: { native };
- }
- files {
- include: { "..\src\*.hpp" };
-
- [x86,v120,release] { lib: vs2013\x32\pugixmls.lib; }
- [x86,v120,debug] { lib: vs2013\x32\pugixmlsd.lib; }
- [x64,v120,release] { lib: vs2013\x64\pugixmls.lib; }
- [x64,v120,debug] { lib: vs2013\x64\pugixmlsd.lib; }
- [x86,v140,release] { lib: vs2015\Win32_Release\pugixml.lib; }
- [x86,v140,debug] { lib: vs2015\Win32_Debug\pugixml.lib; }
- [x64,v140,release] { lib: vs2015\x64_Release\pugixml.lib; }
- [x64,v140,debug] { lib: vs2015\x64_Debug\pugixml.lib; }
- [x86,v141,release] { lib: vs2017\Win32_Release\pugixml.lib; }
- [x86,v141,debug] { lib: vs2017\Win32_Debug\pugixml.lib; }
- [x64,v141,release] { lib: vs2017\x64_Release\pugixml.lib; }
- [x64,v141,debug] { lib: vs2017\x64_Debug\pugixml.lib; }
- }
-}
diff --git a/scripts/nuget/build/native/pugixml-propertiesui.xml b/scripts/nuget/build/native/pugixml-propertiesui.xml
new file mode 100644
index 0000000..0732cc2
--- /dev/null
+++ b/scripts/nuget/build/native/pugixml-propertiesui.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/nuget/build/native/pugixml.targets b/scripts/nuget/build/native/pugixml.targets
new file mode 100644
index 0000000..97d13b2
--- /dev/null
+++ b/scripts/nuget/build/native/pugixml.targets
@@ -0,0 +1,27 @@
+
+
+
+ dynamic
+
+
+
+
+
+
+ $(MSBuildThisFileDirectory)include/;%(AdditionalIncludeDirectories)
+
+
+ $(MSBuildThisFileDirectory)include/;%(AdditionalIncludeDirectories)
+
+
+
+
+ $(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\Debug\pugixml.lib;%(AdditionalDependencies)
+
+
+
+
+ $(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\Release\pugixml.lib;%(AdditionalDependencies)
+
+
+
diff --git a/scripts/nuget/pugixml.nuspec b/scripts/nuget/pugixml.nuspec
new file mode 100644
index 0000000..046ea31
--- /dev/null
+++ b/scripts/nuget/pugixml.nuspec
@@ -0,0 +1,21 @@
+
+
+
+ pugixml
+ 1.8.0-appveyor
+ pugixml
+ Arseny Kapoulkine
+ Arseny Kapoulkine
+ false
+ http://pugixml.org/license.html
+ http://pugixml.org/
+ https://github.com/zeux/pugixml/logo.svg
+ 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 and VS2017, 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
+ http://pugixml.org/docs/manual.html#changes
+ Copyright (c) 2006-2017 Arseny Kapoulkine
+ native nativepackage
+
+
diff --git a/scripts/nuget_build.ps1 b/scripts/nuget_build.ps1
index a8e3017..9028426 100644
--- a/scripts/nuget_build.ps1
+++ b/scripts/nuget_build.ps1
@@ -1,25 +1,48 @@
-function Run-Command
+function Run-Command([string]$cmd)
{
- Invoke-Expression $args[0]
+ 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
-Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2013_static.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2015.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /v:minimal /nologo"
-Run-Command "msbuild pugixml_vs2017.vcxproj /t:Rebuild /p:Configuration=Release /p:Platform=x64 /v:minimal /nologo"
-Write-NuGetPackage nuget.autopkg
+Force-Copy "../src/pugiconfig.hpp" "nuget/build/native/include/pugiconfig.hpp"
+Force-Copy "../src/pugixml.hpp" "nuget/build/native/include/pugixml.hpp"
+
+Build-Version "vs2013" "v120" "dynamic"
+Build-Version "vs2013" "v120" "static"
+
+Build-Version "vs2015" "v140" "dynamic"
+Build-Version "vs2015" "v140" "static"
+
+Build-Version "vs2015" "v141" "dynamic"
+Build-Version "vs2015" "v141" "static"
+
+Run-Command "nuget pack nuget"
Pop-Location
diff --git a/scripts/pugixml_vs2010.vcxproj b/scripts/pugixml_vs2010.vcxproj
index c29b4c5..d29c463 100644
--- a/scripts/pugixml_vs2010.vcxproj
+++ b/scripts/pugixml_vs2010.vcxproj
@@ -64,17 +64,17 @@
<_ProjectFileVersion>10.0.30319.1
- vs2010\x32\
- vs2010\x32\Debug\
- pugixmld
- vs2010\x64\
- vs2010\x64\Debug\
- pugixmld
- vs2010\x32\
- vs2010\x32\Release\
+ vs2010\Win32_Debug\
+ vs2010\Win32_Debug\
+ pugixml
+ vs2010\x64_Debug\
+ vs2010\x64_Debug\
+ pugixml
+ vs2010\Win32_Release\
+ vs2010\Win32_Release\
pugixml
- vs2010\x64\
- vs2010\x64\Release\
+ vs2010\x64_Release\
+ vs2010\x64_Release\
pugixml
@@ -93,12 +93,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmld.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmld.pdb
+ $(OutDir)pugixml.pdb
@@ -117,12 +117,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmld.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmld.pdb
+ $(OutDir)pugixml.pdb
diff --git a/scripts/pugixml_vs2010_static.vcxproj b/scripts/pugixml_vs2010_static.vcxproj
index c1e133c..e770d17 100644
--- a/scripts/pugixml_vs2010_static.vcxproj
+++ b/scripts/pugixml_vs2010_static.vcxproj
@@ -64,18 +64,18 @@
<_ProjectFileVersion>10.0.30319.1
- vs2010\x32\
- vs2010\x32\DebugStatic\
- pugixmlsd
- vs2010\x64\
- vs2010\x64\DebugStatic\
- pugixmlsd
- vs2010\x32\
- vs2010\x32\ReleaseStatic\
- pugixmls
- vs2010\x64\
- vs2010\x64\ReleaseStatic\
- pugixmls
+ vs2010\Win32_DebugStatic\
+ vs2010\Win32_DebugStatic\
+ pugixml
+ vs2010\x64_DebugStatic\
+ vs2010\x64_DebugStatic\
+ pugixml
+ vs2010\Win32_ReleaseStatic\
+ vs2010\Win32_ReleaseStatic\
+ pugixml
+ vs2010\x64_ReleaseStatic\
+ vs2010\x64_ReleaseStatic\
+ pugixml
@@ -93,12 +93,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmlsd.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmlsd.pdb
+ $(OutDir)pugixml.pdb
@@ -117,12 +117,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmlsd.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmlsd.pdb
+ $(OutDir)pugixml.pdb
@@ -141,14 +141,14 @@
NDEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmls.lib
+ $(OutDir)pugixml.lib
Windows
true
true
true
- $(OutDir)pugixmls.pdb
+ $(OutDir)pugixml.pdb
@@ -167,14 +167,14 @@
NDEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmls.lib
+ $(OutDir)pugixml.lib
Windows
true
true
true
- $(OutDir)pugixmls.pdb
+ $(OutDir)pugixml.pdb
diff --git a/scripts/pugixml_vs2013.vcxproj b/scripts/pugixml_vs2013.vcxproj
index c719394..eae27c9 100644
--- a/scripts/pugixml_vs2013.vcxproj
+++ b/scripts/pugixml_vs2013.vcxproj
@@ -68,17 +68,17 @@
<_ProjectFileVersion>10.0.30319.1
- vs2013\x32\
- vs2013\x32\Debug\
- pugixmld
- vs2013\x64\
- vs2013\x64\Debug\
- pugixmld
- vs2013\x32\
- vs2013\x32\Release\
+ vs2013\Win32_Debug\
+ vs2013\Win32_Debug\
+ pugixml
+ vs2013\x64_Debug\
+ vs2013\x64_Debug\
+ pugixml
+ vs2013\Win32_Release\
+ vs2013\Win32_Release\
pugixml
- vs2013\x64\
- vs2013\x64\Release\
+ vs2013\x64_Release\
+ vs2013\x64_Release\
pugixml
@@ -98,12 +98,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmld.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmld.pdb
+ $(OutDir)pugixml.pdb
@@ -123,12 +123,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmld.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmld.pdb
+ $(OutDir)pugixml.pdb
@@ -196,4 +196,4 @@
-
\ No newline at end of file
+
diff --git a/scripts/pugixml_vs2013_static.vcxproj b/scripts/pugixml_vs2013_static.vcxproj
index acca608..0ad4fe2 100644
--- a/scripts/pugixml_vs2013_static.vcxproj
+++ b/scripts/pugixml_vs2013_static.vcxproj
@@ -68,18 +68,18 @@
<_ProjectFileVersion>10.0.30319.1
- vs2013\x32\
- vs2013\x32\DebugStatic\
- pugixmlsd
- vs2013\x64\
- vs2013\x64\DebugStatic\
- pugixmlsd
- vs2013\x32\
- vs2013\x32\ReleaseStatic\
- pugixmls
- vs2013\x64\
- vs2013\x64\ReleaseStatic\
- pugixmls
+ vs2013\Win32_DebugStatic\
+ vs2013\Win32_DebugStatic\
+ pugixml
+ vs2013\x64_DebugStatic\
+ vs2013\x64_DebugStatic\
+ pugixml
+ vs2013\Win32_ReleaseStatic\
+ vs2013\Win32_ReleaseStatic\
+ pugixml
+ vs2013\x64_ReleaseStatic\
+ vs2013\x64_ReleaseStatic\
+ pugixml
@@ -98,12 +98,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmlsd.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmlsd.pdb
+ $(OutDir)pugixml.pdb
@@ -123,12 +123,12 @@
_DEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmlsd.lib
+ $(OutDir)pugixml.lib
Windows
true
- $(OutDir)pugixmlsd.pdb
+ $(OutDir)pugixml.pdb
@@ -148,14 +148,14 @@
NDEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmls.lib
+ $(OutDir)pugixml.lib
Windows
true
true
true
- $(OutDir)pugixmls.pdb
+ $(OutDir)pugixml.pdb
@@ -175,14 +175,14 @@
NDEBUG;%(PreprocessorDefinitions)
- $(OutDir)pugixmls.lib
+ $(OutDir)pugixml.lib
Windows
true
true
true
- $(OutDir)pugixmls.pdb
+ $(OutDir)pugixml.pdb
@@ -196,4 +196,4 @@
-
\ No newline at end of file
+
diff --git a/scripts/pugixml_vs2015_static.vcxproj b/scripts/pugixml_vs2015_static.vcxproj
new file mode 100644
index 0000000..0ce5082
--- /dev/null
+++ b/scripts/pugixml_vs2015_static.vcxproj
@@ -0,0 +1,176 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ pugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vs2015\$(Platform)_$(Configuration)Static\
+ vs2015\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2015\$(Platform)_$(Configuration)Static\
+ vs2015\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2015\$(Platform)_$(Configuration)Static\
+ vs2015\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2015\$(Platform)_$(Configuration)Static\
+ vs2015\$(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/scripts/pugixml_vs2017_static.vcxproj b/scripts/pugixml_vs2017_static.vcxproj
new file mode 100644
index 0000000..68a862f
--- /dev/null
+++ b/scripts/pugixml_vs2017_static.vcxproj
@@ -0,0 +1,176 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ pugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vs2017\$(Platform)_$(Configuration)Static\
+ vs2017\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2017\$(Platform)_$(Configuration)Static\
+ vs2017\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2017\$(Platform)_$(Configuration)Static\
+ vs2017\$(Platform)_$(Configuration)Static\
+ pugixml
+
+
+ vs2017\$(Platform)_$(Configuration)Static\
+ vs2017\$(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
+
+
+
+
+
+
+
+
+
+
+
+
+