-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathCelesteArchipelago.csproj
96 lines (83 loc) · 4.38 KB
/
CelesteArchipelago.csproj
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
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net452</TargetFramework>
<AssemblyName>CelesteArchipelago</AssemblyName>
<RootNamespace>Celeste.Mod.CelesteArchipelago</RootNamespace>
<LangVersion>latest</LangVersion>
<CelestePrefix Condition="'$(CelestePrefix)' == '' And (Exists('..\..\Celeste.exe') Or Exists('..\..\Celeste.dll'))">..\..</CelestePrefix>
<CelestePrefix Condition="'$(CelestePrefix)' == '' And (Exists('..\..\..\Celeste.exe') Or Exists('..\..\..\Celeste.dll'))">..\..\..</CelestePrefix>
<CelestePrefix Condition="'$(CelestePrefix)' == ''">lib-stripped</CelestePrefix>
<!-- Use the legacy reference dir for Core installs -->
<CelesteIsCore>false</CelesteIsCore>
<CelesteIsCore Condition="Exists('$(CelestePrefix)\Celeste.dll')">true</CelesteIsCore>
<CelestePrefix Condition="$(CelesteIsCore)">$(CelestePrefix)\legacyRef</CelestePrefix>
<CelesteType Condition="'$(CelesteType)' == '' And Exists('$(CelestePrefix)\BuildIsXNA.txt')">XNA</CelesteType>
<CelesteType Condition="'$(CelesteType)' == ''">FNA</CelesteType>
<XNAPath Condition="'$(XNAPath)' == ''">$(WINDIR)\Microsoft.NET\assembly\GAC_32\{0}\v4.0_4.0.0.0__842cf8be1de50553\{0}.dll</XNAPath>
</PropertyGroup>
<Target Name="CheckCoreInstall" BeforeTargets="PrepareForBuild" Condition="$(CelesteIsCore)">
<Error Condition="!Exists('$(CelestePrefix)')" Text="Detected a .NET Core Everest install without the required legacyRef install needed to build .NET Framework mods - see the Everest wiki (https://github.com/EverestAPI/Resources/wiki/Code-Mod-Core-Migration-Guide) for info on how to set it up" />
<Message Text="Building against .NET Core Everest legacyRef install" Importance="high" />
</Target>
<!--Disable "Copy Local" for all references-->
<ItemDefinitionGroup>
<PackageReference PrivateAssets="all" ExcludeAssets="runtime" />
<Reference Private="false" />
</ItemDefinitionGroup>
<ItemGroup>
<Compile Remove="decompiled\**" />
<Compile Remove="src\**" />
<EmbeddedResource Remove="decompiled\**" />
<EmbeddedResource Remove="src\**" />
<None Remove="decompiled\**" />
<None Remove="src\**" />
</ItemGroup>
<ItemGroup>
<None Remove="Archipelago.MultiClient.Net.dll" />
<None Remove="CelesteArchipelago.dll" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Archipelago.MultiClient.Net" Version="5.0.6" />
<PackageReference Include="MonoMod.RuntimeDetour" Version="22.01.04.03" PrivateAssets="all" ExcludeAssets="runtime" />
</ItemGroup>
<ItemGroup>
<Reference Include="$(CelestePrefix)\Celeste.exe">
<Private>false</Private>
</Reference>
<Reference Include="$(CelestePrefix)\MMHOOK_Celeste.dll">
<Private>false</Private>
</Reference>
</ItemGroup>
<Choose>
<When Condition="'$(CelesteType)' == 'FNA'">
<ItemGroup>
<Reference Include="$(CelestePrefix)\FNA.dll">
<Private>false</Private>
</Reference>
</ItemGroup>
</When>
<When Condition="'$(CelesteType)' == 'XNA'">
<ItemGroup>
<Reference Include="$([System.String]::Format('$(XNAPath)', 'Microsoft.Xna.Framework'))">
<Private>false</Private>
</Reference>
<Reference Include="$([System.String]::Format('$(XNAPath)', 'Microsoft.Xna.Framework.Game'))">
<Private>false</Private>
</Reference>
<Reference Include="$([System.String]::Format('$(XNAPath)', 'Microsoft.Xna.Framework.Graphics'))">
<Private>false</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Target Name="CopyFiles" AfterTargets="Build">
<Copy SourceFiles="$(OutputPath)\$(AssemblyName).dll" DestinationFolder="bin" />
<Copy SourceFiles="$(OutputPath)\$(AssemblyName).pdb" DestinationFolder="bin" />
</Target>
<PropertyGroup>
<PathMap>$(MSBuildProjectDirectory)=CelesteArchipelago/</PathMap>
</PropertyGroup>
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
</Project>