forked from zeromq/clrzmq
/
build.proj
74 lines (61 loc) · 3.41 KB
/
build.proj
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
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<SolutionDir Condition="'$(SolutionDir)' == ''">src</SolutionDir>
<LibDir Condition="'$(LibDir)' == ''">lib</LibDir>
<BuildDir>build</BuildDir>
<PackageDir>publish</PackageDir>
<Platform Condition="'$(Platform)' == ''">x86</Platform>
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
<OSConfiguration Condition="'$(OSConfiguration)' == ''">WIN_RELEASE</OSConfiguration>
<MSpecOptions Condition="'$(MSpecOptions)' == ''"></MSpecOptions>
<KeyFileProperty Condition="'$(SignAssembly)' == 'true'">KeyOriginatorFile=src\clrzmq.snk</KeyFileProperty>
</PropertyGroup>
<Target Name="Clean">
<ItemGroup>
<CleanFiles Include="$(BuildDir)" />
<CleanFiles Include="$(SolutionDir)\**\bin\$(Configuration)\**" />
<CleanFiles Include="$(SolutionDir)\**\bin\$(Platform)\$(OSConfiguration)\**" />
<CleanFiles Include="$(SolutionDir)\**\bin\*.*" />
<CleanFiles Include="$(SolutionDir)\**\obj\$(Configuration)\**" />
<CleanFiles Include="$(SolutionDir)\**\obj\$(Platform)\$(OSConfiguration)\**" />
<CleanFiles Include="$(SolutionDir)\**\obj\*.*" />
</ItemGroup>
<Delete Files="@(CleanFiles)" />
</Target>
<Target Name="Initialize" DependsOnTargets="Clean">
<MakeDir Directories="$(BuildDir)" />
</Target>
<Target Name="Compile" DependsOnTargets="Initialize">
<MSBuild Projects="clrzmq.sln" Targets="Build" ToolsVersion="3.5" Properties="Configuration=$(OSConfiguration);Platform=$(Platform);$(KeyFileProperty)" />
</Target>
<Target Name="Test" DependsOnTargets="Compile">
<PropertyGroup>
<MSpecExe Condition="'$(MSpecExe)' == '' and '$(Platform)' == 'x64'">$([System.IO.Directory]::GetDirectories("packages", "Machine.Specifications.*")[0])\tools\mspec.exe</MSpecExe>
<MSpecExe Condition="'$(MSpecExe)' == '' and '$(Platform)' == 'x86'">$([System.IO.Directory]::GetDirectories("packages", "Machine.Specifications.*")[0])\tools\mspec-x86.exe</MSpecExe>
</PropertyGroup>
<ItemGroup>
<TestAssmbly Include="tests\**\bin\$(Platform)\$(OSConfiguration)\*Tests.dll" />
</ItemGroup>
<Exec Command="$(MSpecExe) $(MSpecOptions) %(TestAssmbly.Identity)" />
</Target>
<Target Name="Build" DependsOnTargets="Test">
<ItemGroup>
<OutputFiles Include="$(SolutionDir)\**\bin\$(Platform)\$(OSConfiguration)\*.dll" />
<OutputFiles Include="$(SolutionDir)\**\bin\$(Platform)\$(OSConfiguration)\*.pdb" />
<OutputFiles Include="$(SolutionDir)\**\bin\$(Platform)\$(OSConfiguration)\*.xml" />
<OutputFiles Include="$(SolutionDir)\**\bin\$(Configuration)\*.dll" />
<OutputFiles Include="$(SolutionDir)\**\bin\$(Configuration)\*.pdb" />
<OutputFiles Include="$(SolutionDir)\**\bin\$(Configuration)\*.xml" />
<OutputFiles Include="$(LibDir)\$(Platform)\*.dll" />
</ItemGroup>
<Copy SourceFiles="@(OutputFiles)" DestinationFolder="$(BuildDir)" ContinueOnError="true" />
</Target>
<Target Name="Package" DependsOnTargets="Build">
<ItemGroup>
<BuildOutput Include="$(BuildDir)\*.*" />
</ItemGroup>
<RemoveDir Directories="$(PackageDir)\$(Platform)" />
<MakeDir Directories="$(PackageDir)\$(Platform)" />
<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(PackageDir)\$(Platform)" ContinueOnError="false" />
</Target>
</Project>