blob: 87b3f9ccc5777f7e8f4f0b7a1dee214ed45319da (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)' == ''">
<Configuration>Release</Configuration>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)\..\..\config\icebuilder.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(MSBuildThisFileDirectory)\..\..\config\Ice.common.targets" />
<Target Name="RemovePackages">
<Exec Command="rmdir /s /q $(MSBuildThisFileDirectory)packages" Condition="Exists('$(MSBuildThisFileDirectory)packages')" />
</Target>
<Target Name="NuGetRestore" DependsOnTargets="GetNuGet">
<Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.test.sln" Condition="'$(ICE_BIN_DIST)' == 'all'"/>
</Target>
<PropertyGroup>
<SliceCompilers Condition="'$(DefaultPlatformToolset)' == 'v140'">c++98\slice2cs;c++98\slice2html</SliceCompilers>
<SliceCompilers Condition="'$(DefaultPlatformToolset)' == 'v120'">slice2cs;slice2html</SliceCompilers>
</PropertyGroup>
<Target Name="SliceCompilers" Condition="'$(ICE_BIN_DIST)' != 'all'">
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.proj"
Targets="NuGetRestore"
BuildInParallel="true"/>
<MSBuild Projects="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.$(DefaultPlatformToolset).sln"
Targets="$(SliceCompilers)"
BuildInParallel="true"
Properties="Platform=$(Platform);Configuration=$(Configuration.Replace('-Managed', ''))"/>
</Target>
<ItemGroup>
<DistSolution Include="ice.sln">
<Properties>Configuration=$(Configuration);Platform=Any CPU</Properties>
</DistSolution>
<TestSoution Include="ice.test.sln">
<Properties>Configuration=$(Configuration.Replace("-Managed", ""));Platform=Any CPU</Properties>
</TestSoution>
</ItemGroup>
<Target Name="BuildDist" DependsOnTargets="SliceCompilers" Condition="'$(ICE_BIN_DIST)' != 'all'">
<MSBuild Projects="@(DistSolution)"
BuildInParallel="true"
Properties="%(Properties)"/>
</Target>
<Target Name="CleanDist" Condition="'$(ICE_BIN_DIST)' != 'all'">
<MSBuild Projects="@(DistSolution)"
BuildInParallel="true"
Properties="%(Properties)"
Targets="Clean" />
</Target>
<Target Name="Build" DependsOnTargets="NuGetRestore;BuildDist;SliceCompilers">
<MSBuild Projects="@(TestSoution)"
BuildInParallel="true"
Properties="%(Properties)" />
</Target>
<Target Name="Clean" DependsOnTargets="CleanDist">
<MSBuild Projects="@(TestSoution)" BuildInParallel="true" Targets="Clean" Properties="%(Properties)" />
</Target>
<Import Project="$(MSBuildThisFileDirectory)ice.common.targets" />
<Target Name="NuGetPack" DependsOnTargets="BuildDist">
<RemoveDir Directories="zeroc.ice.net" />
<MSBuild Projects="ice.nuget.targets"
Properties="PackageDirectory=zeroc.ice.net"/>
<Copy SourceFiles="zeroc.ice.net.nuspec"
DestinationFolder="zeroc.ice.net" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
DestinationFiles="zeroc.ice.net\ICE_LICENSE.txt" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
DestinationFiles="zeroc.ice.net\LICENSE.txt" />
<!-- Generate iceboxnet.exe.config with the correct assembly pulbic key token and assembly paths -->
<GetPublicKeyToken AssemblyFile="$(MSBuildThisFileDirectory)..\Assemblies\Ice.dll">
<Output TaskParameter="PublicKeyToken" PropertyName="PublicKeyToken"/>
</GetPublicKeyToken>
<WriteFileWithReplacements InputFile="$(MSBuildThisFileDirectory)iceboxnet.exe.config.release"
OutputFile="$(MSBuildThisFileDirectory)zeroc.ice.net\tools\iceboxnet.exe.config"
Tokens="@PublicKeyToken@;@AssemblyDir@"
Replacements="$(PublicKeyToken);..\lib"
Condition="'$(PublicKeyToken)' != ''"/>
<WriteFileWithReplacements InputFile="$(MSBuildThisFileDirectory)iceboxnet.exe.config.release.unsigned"
OutputFile="$(MSBuildThisFileDirectory)zeroc.ice.net\tools\iceboxnet.exe.config"
Tokens="@AssemblyDir@"
Replacements="..\lib"
Condition="'$(PublicKeyToken)' == ''"/>
<!-- Copy bzip2 native dll next to iceboxnet.exe -->
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\packages\bzip2.v140.1.0.6.9\build\native\bin\x64\MT-Release\bzip2.dll"
DestinationFiles="$(MSBuildThisFileDirectory)zeroc.ice.net\tools\bzip2.dll"/>
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\packages\bzip2.v140.1.0.6.9\build\native\bin\x64\MT-Release\bzip2.pdb"
DestinationFiles="$(MSBuildThisFileDirectory)zeroc.ice.net\tools\bzip2.pdb"/>
<Copy SourceFiles="zeroc.ice.net.props"
DestinationFiles="zeroc.ice.net\build\zeroc.ice.net.props"/>
<Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
WorkingDirectory="zeroc.ice.net"/>
</Target>
</Project>
|