1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<Project DefaultTargets="NugetPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IceSrcRootDir>$(MSBuildThisFileDirectory)..\</IceSrcRootDir>
<IcePdbRootDir Condition="'$(IcePdbRootDir)' == ''">$(IceSrcRootDir)</IcePdbRootDir>
</PropertyGroup>
<!-- For CSharp we use Slice compiler from x64 Release builds -->
<ItemGroup>
<SliceCompilers Include="$(IceSrcRootDir)..\cpp\bin\$(CppPlatform)\$(Configuration)\slice2cs.exe;
$(IceSrcRootDir)..\cpp\bin\$(CppPlatform)\$(Configuration)\slice2html.exe" />
<Net45IceBox Include="$(IceSrcRootDir)bin\net45\iceboxnet.exe"/>
<Net45IceBox Include="$(IcePdbRootDir)bin\net45\iceboxnet.pdb"/>
<!--
With .Net Core and .NET6 we have to pack the dependencies next to iceboxnet.dll,
the .exe native executable is exclude as it is platform dependend
-->
<NetStandardIceBox Include="$(IceSrcRootDir)bin\**\publish\*"
Exclude="$(IceSrcRootDir)bin\**\publish\*.exe"
Condition="'$(NetStandardTargets)' == 'true'" />
<Assemblies Include="$(IceSrcRootDir)lib\**\*.dll;
$(IceSrcRootDir)lib\**\*.xml"/>
<Net6Pdbs Include="$(IceSrcRootDir)lib\net6.0\*.pdb" />
<Net45Pdbs Include="$(IcePdbRootDir)\lib\net45\*.pdb" />
<NetStandardPdbs Include="$(IceSrcRootDir)lib\netstandard2.0\*.pdb" />
<Slices Include="$(IceSrcRootDir)..\slice\**\*.ice"
Exclude="$(IceSrcRootDir)..\slice\IceDiscovery\*.ice;
$(IceSrcRootDir)..\slice\IceLocatorDiscovery\*.ice"/>
</ItemGroup>
<!-- Copy required files to the package specific directories -->
<Target Name="NugetPack">
<Copy SourceFiles="@(Assemblies)" DestinationFolder="$(PackageDirectory)\lib\%(Assemblies.RecursiveDir)"/>
<Copy SourceFiles="@(Net6Pdbs)" DestinationFolder="$(PackageDirectory)\lib\net6.0"/>
<Copy SourceFiles="@(Net45Pdbs)" DestinationFolder="$(PackageDirectory)\lib\net45"/>
<Copy SourceFiles="@(NetStandardPdbs)" DestinationFolder="$(PackageDirectory)\lib\netstandard2.0"
Condition="'$(NetStandardTargets)' == 'true'"/>
<Copy SourceFiles="@(Slices)" DestinationFolder="$(PackageDirectory)\slice\%(Slices.RecursiveDir)"/>
<Copy SourceFiles="@(SliceCompilers)" DestinationFolder="$(PackageDirectory)\tools"/>
<Copy SourceFiles="@(Net45IceBox)" DestinationFolder="$(PackageDirectory)\tools\net45"/>
<Copy SourceFiles="@(NetStandardIceBox)" DestinationFolder="$(PackageDirectory)\tools\%(NetStandardIceBox.RecursiveDir)\.."
Condition="'$(NetStandardTargets)' == 'true'"/>
</Target>
</Project>
|