-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBoot.CrossBuild.props
74 lines (67 loc) · 3.04 KB
/
Boot.CrossBuild.props
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
<!--
Inputs
BuildingInsideVisualStudio
RuntimePlatform
[SkipCrossBuild]
[CrossBuild]
Outputs
BuildWin
BuildOsx
BuildLinux
-->
<Project InitialTargets="TraceBootCrossBuild"
TreatAsLocalProperty="CrossBuild;BuildWin;BuildOsx;BuildLinux">
<PropertyGroup>
<!-- Do not cross-build inside Visual Studio -->
<CrossBuild Condition="'$(BuildingInsideVisualStudio)' != ''">false</CrossBuild>
<!-- Do not cross-build in non zou agents -->
<CrossBuild Condition="'$(ZouAgentType)' == ''">false</CrossBuild>
<!-- Do not cross-build by default -->
<CrossBuild Condition="'$(CrossBuild)' == ''">false</CrossBuild>
</PropertyGroup>
<!-- Disable cross-build if SkipCrossBuild is true -->
<PropertyGroup Condition="'$(SkipCrossBuild)' == 'true'">
<!-- Save CrossBuild state -->
<_CrossBuild0>$(CrossBuild)</_CrossBuild0>
<CrossBuild>false</CrossBuild>
</PropertyGroup>
<!-- Compute cross-build outputs -->
<PropertyGroup>
<BuildWin >false</BuildWin>
<BuildOsx >false</BuildOsx>
<BuildLinux>false</BuildLinux>
<BuildWin Condition="$(CrossBuild) Or $(RuntimeIdentifier.StartsWith('win')) Or ('$(RuntimeIdentifier)'=='' And $([MSBuild]::IsOsPlatform(Windows)))">true</BuildWin>
</PropertyGroup>
<!-- Only x64 platform on OSX and Linux -->
<PropertyGroup Condition="$(RuntimePlatform.EndsWith('x64'))">
<BuildOsx Condition="$(CrossBuild) Or $(RuntimeIdentifier.StartsWith('osx')) Or ('$(RuntimeIdentifier)'=='' And $([MSBuild]::IsOsPlatform(OSX)))" >true</BuildOsx>
<BuildLinux Condition="$(CrossBuild) Or $(RuntimeIdentifier.StartsWith('linux')) Or ('$(RuntimeIdentifier)'=='' And $([MSBuild]::IsOsPlatform(Linux)))">true</BuildLinux>
</PropertyGroup>
<PropertyGroup>
<BuildAny>false</BuildAny>
<BuildAny Condition="$(BuildWin) Or $(BuildOsx) Or $(BuildLinux)">true</BuildAny>
</PropertyGroup>
<!-- Restore CrossBuild state -->
<PropertyGroup Condition="'$(SkipCrossBuild)' == 'true'">
<CrossBuild>$(_CrossBuild0)</CrossBuild>
<_CrossBuild0 />
</PropertyGroup>
<!-- Forward properties -->
<ItemDefinitionGroup>
<ImportProject>
<CrossBuild>$(CrossBuild)</CrossBuild>
</ImportProject>
</ItemDefinitionGroup>
<Target Name="TraceBootCrossBuild" Condition="'$(ZouTrace)' == 'true' Or '$(MSBuildProjectFile)' == '$(MSBuildThisFile)'">
<Message Importance="high" Text="zou/Boot.CrossBuild.props [$(MSBuildProjectFile)]" />
<Message Importance="high" Text="-------------------------" />
<Message Importance="high" Text="ZouAgentType = $(ZouAgentType)" />
<Message Importance="high" Text="SkipCrossBuild = $(SkipCrossBuild)" />
<Message Importance="high" Text="CrossBuild = $(CrossBuild)" />
<Message Importance="high" Text="BuildWin = $(BuildWin)" />
<Message Importance="high" Text="BuildOsx = $(BuildOsx)" />
<Message Importance="high" Text="BuildLinux = $(BuildLinux)" />
<Message Importance="high" Text="BuildAny = $(BuildAny)" />
<Message Importance="high" Text=" " />
</Target>
</Project>