summaryrefslogtreecommitdiff
path: root/php/msbuild/ice.proj
blob: d3771f6f2661a87535e088fd8b5e60100ff8238f (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
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
  </PropertyGroup>

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <Import Project="$(MSBuildThisFileDirectory)\..\..\config\ice.common.targets" />
  <Import Project="$(MSBuildThisFileDirectory)..\..\config\icebuilder.props" />

  <!-- Ice for PHP configurations -->
  <PropertyGroup>
    <ProjectFiles>
    ..\lib\Glacier2\msbuild\glacier2.proj;
    ..\lib\Ice\msbuild\ice.proj;
    ..\lib\IceBox\msbuild\icebox.proj;
    ..\lib\IceGrid\msbuild\icegrid.proj;
    ..\lib\IcePatch2\msbuild\icepatch2.proj;
    ..\lib\IceStorm\msbuild\icestorm.proj
    </ProjectFiles>
    <CppDistTargets>c++98\slice2php;c++98\icessl;c++98\icediscovery;c++98\icelocatordiscovery</CppDistTargets>
    <CppConfiguration Condition="'$(Configuration)' == 'NTS-Debug' or '$(Configuration)' == 'Debug'">Debug</CppConfiguration>
    <CppConfiguration Condition="'$(Configuration)' == 'NTS-Release' or '$(Configuration)' == 'Release'">Release</CppConfiguration>
  </PropertyGroup>

  <Target Name="NuGetRestore" DependsOnTargets="GetNuGet">
    <!-- Restore NuGet packages to build Ice for PHP distribution -->
    <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.sln" Condition="'$(ICE_BIN_DIST)' != 'all'"/>
    <Exec Command="$(NuGetExe) install zeroc.ice.v140 -OutputDirectory $(MSBuildThisFileDirectory)\packages -Version $(IceJSONVersion)"
          Condition="'$(ICE_BIN_DIST)' == 'cpp'"/>
  </Target>

  <ItemGroup>
    <DistProjects Include="ice.sln;$(ProjectFiles)">
      <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
    </DistProjects>
    <TestProjects Include="..\test\**\msbuild\test.proj">
      <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
    </TestProjects>
  </ItemGroup>

  <Target Name="BuildCppDist" Condition="'$(ICE_BIN_DIST)' != 'cpp'">
    <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.$(DefaultPlatformToolset).sln"/>
    <MSBuild Projects="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.$(DefaultPlatformToolset).sln"
             Targets="$(CppDistTargets)"
             BuildInParallel="true"
             Properties="Platform=$(Platform);Configuration=$(CppConfiguration)" />
  </Target>

  <Target Name="BuildDist" DependsOnTargets="NuGetRestore;BuildCppDist" Condition="'$(ICE_BIN_DIST)' != 'all'">
    <MSBuild Projects="@(DistProjects)"
             BuildInParallel="true"
             Properties="%(Properties)" />
  </Target>

  <Target Name="CleanDist" Condition="'$(ICE_BIN_DIST)' != 'all'">
    <MSBuild Projects="@(DistProjects)"
             BuildInParallel="true"
             Properties="%(Properties)"
             Targets="Clean" />
  </Target>

  <Target Name="Build" DependsOnTargets="BuildDist;NuGetRestore">
    <MSBuild Projects="@(TestProjects)"
             BuildInParallel="true"
             Properties="%(Properties)" />
  </Target>

  <Target Name="Clean" DependsOnTargets="CleanDist">
    <MSBuild Projects="@(TestProjects)"
             BuildInParallel="true"
             Properties="%(Properties)"
             Targets="Clean" />
   </Target>
</Project>