summaryrefslogtreecommitdiff
path: root/scripts/nuget/build/native/pugixml.targets
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-06-18 23:41:12 -0700
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-06-20 21:11:35 -0700
commita7c4070df74e4d62cc8031ae5de9f892fe914bfc (patch)
tree7d01f56ff91ada2103e5da5572a91ea3396440e3 /scripts/nuget/build/native/pugixml.targets
parent208e2cf0432a0f2865a225a9dc51917191c6cd04 (diff)
scripts: Switch to manual NuGet package with both CRT linkages
We'd like to build pugixml with both static & dynamic CRT and put it all in one NuGet package. CoApp sort of allows us to do this via dynamic/static pivots, but it does not let us customize the names of the pivots and additionally has some bugs with the project setup. Their project modifications are also much more complicated - really, at this point we should do this ourselves. Create a simple native NuGet package with Linkage setting that picks the right library, and package all libraries appropriately. Note that we use the unified path syntax to make it simple to just get the right .lib file from the toolset/platform/configuration/linkage combo.
Diffstat (limited to 'scripts/nuget/build/native/pugixml.targets')
-rw-r--r--scripts/nuget/build/native/pugixml.targets27
1 files changed, 27 insertions, 0 deletions
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 @@
+<?xml version="1.0" encoding="utf-8"?>
+<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>
+ </PropertyGroup>
+ <ItemGroup>
+ <PropertyPageSchema Include="$(MSBuildThisFileDirectory)\pugixml-propertiesui.xml" />
+ </ItemGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <ResourceCompile>
+ <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">
+ <Link>
+ <AdditionalDependencies>$(MSBuildThisFileDirectory)lib/$(Platform)\$(PlatformToolset.Split('_')[0])\$(Linkage-pugixml)\Release\pugixml.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+</Project>