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 + + + + + + + + + + + + +