summaryrefslogtreecommitdiff
path: root/csharp/msbuild/ice.nuget.targets
blob: 853eb5f6616e3f008ff1a37e77550c93707bf654 (plain)
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
<Project DefaultTargets="NugetPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <IceSrcRootDir>$(MSBuildThisFileDirectory)..\</IceSrcRootDir>
    </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" />

        <!-- With .Net Core we have to pack the dependencies next iceboxnet.dll  -->
        <IceBoxNet45 Include="$(IceSrcRootDir)bin\net45\iceboxnet.exe;
                              $(IceSrcRootDir)bin\net45\iceboxnet.pdb"/>

        <IceBoxNetStandard Include="$(IceSrcRootDir)bin\netcoreapp2.1\publish\*"
                           Condition="'$(BuildNetStandardTargets)' == 'true'"/>

        <Assemblies Include="$(IceSrcRootDir)lib\**\*.dll;
                             $(IceSrcRootDir)lib\**\*.pdb;
                             $(IceSrcRootDir)lib\**\*.xml"/>

        <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="@(Slices)" DestinationFolder="$(PackageDirectory)\slice\%(Slices.RecursiveDir)"/>
        <Copy SourceFiles="@(SliceCompilers)" DestinationFolder="$(PackageDirectory)\tools"/>
        <Copy SourceFiles="@(IceBoxNet45)" DestinationFolder="$(PackageDirectory)\tools\net45"/>
        <Copy SourceFiles="@(IceBoxNetStandard)" DestinationFolder="$(PackageDirectory)\tools\netcoreapp2.1"
              Condition="'$(BuildNetStandardTargets)' == 'true'"/>
    </Target>
</Project>