aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrip.nsk <rip.nsk@gmail.com>2020-04-24 17:56:46 -0700
committerrip.nsk <rip.nsk@gmail.com>2020-04-24 17:56:46 -0700
commitab86960e481f2e9ddcb90561f3c0e52f19199164 (patch)
tree1e5d1eaecaa54165bb9e3fd4def6502ab2722498
parent5e64076af9691ce8100aedf7a61cb338f2596151 (diff)
downloadpugixml-ab86960e481f2e9ddcb90561f3c0e52f19199164.zip
pugixml-ab86960e481f2e9ddcb90561f3c0e52f19199164.tar.gz
pugixml-ab86960e481f2e9ddcb90561f3c0e52f19199164.tar.bz2
Add "Include pugixml.cpp" and "Header Only" linkage options
-rw-r--r--scripts/nuget/build/native/pugixml-propertiesui.xml2
-rw-r--r--scripts/nuget/build/native/pugixml.targets19
-rw-r--r--scripts/nuget_build.ps11
3 files changed, 13 insertions, 9 deletions
diff --git a/scripts/nuget/build/native/pugixml-propertiesui.xml b/scripts/nuget/build/native/pugixml-propertiesui.xml
index 0732cc2..bfbd219 100644
--- a/scripts/nuget/build/native/pugixml-propertiesui.xml
+++ b/scripts/nuget/build/native/pugixml-propertiesui.xml
@@ -10,6 +10,8 @@
<EnumProperty Name="Linkage-pugixml" DisplayName="Linkage" Description="Which version of the runtime library to use for this library" Category="pugixml">
<EnumValue Name="dynamic" DisplayName="Dynamic CRT (/MD, /MDd)" />
<EnumValue Name="static" DisplayName="Static CRT (/MT, /MTd)" />
+ <EnumValue Name="source" DisplayName="Include pugixml.cpp" />
+ <EnumValue Name="header" DisplayName="Header Only" />
</EnumProperty>
</Rule>
</ProjectSchemaDefinitions>
diff --git a/scripts/nuget/build/native/pugixml.targets b/scripts/nuget/build/native/pugixml.targets
index 97d13b2..7a6e318 100644
--- a/scripts/nuget/build/native/pugixml.targets
+++ b/scripts/nuget/build/native/pugixml.targets
@@ -2,26 +2,27 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Default initializers for properties">
<Linkage-pugixml Condition="'$(Linkage-pugixml)' == ''">dynamic</Linkage-pugixml>
+ <Configuration-pugixml Condition="$(Configuration.ToLower().IndexOf('debug')) != -1">Debug</Configuration-pugixml>
+ <Configuration-pugixml Condition="$(Configuration.ToLower().IndexOf('debug')) == -1">Release</Configuration-pugixml>
</PropertyGroup>
<ItemGroup>
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)\pugixml-propertiesui.xml" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Linkage-pugixml)' == 'header'">PUGIXML_HEADER_ONLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
- <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="$(Configuration.ToLower().IndexOf('debug')) != -1">
- <Link>
- <AdditionalDependencies>$(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\Debug\pugixml.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="$(Configuration.ToLower().IndexOf('debug')) == -1">
+ <ItemGroup Condition="'$(Linkage-pugixml)' == 'source'">
+ <ClCompile Include="$(MSBuildThisFileDirectory)include\pugixml.cpp"/>
+ </ItemGroup>
+ <ItemDefinitionGroup Condition="'$(Linkage-pugixml)' != 'header' AND '$(Linkage-pugixml)' != 'source'">
<Link>
- <AdditionalDependencies>$(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\Release\pugixml.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>$(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\$(Configuration-pugixml)\pugixml.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>
diff --git a/scripts/nuget_build.ps1 b/scripts/nuget_build.ps1
index cd18d29..7368f3b 100644
--- a/scripts/nuget_build.ps1
+++ b/scripts/nuget_build.ps1
@@ -33,6 +33,7 @@ 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 2019){
Build-Version "vs2019" "v142" "dynamic"