-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLibConstruct.csproj
More file actions
108 lines (95 loc) · 5.09 KB
/
LibConstruct.csproj
File metadata and controls
108 lines (95 loc) · 5.09 KB
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
<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>14.0</LangVersion>
<LanguageTargets>$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoStandardLibraries>true</NoStandardLibraries>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
<NoWarn>$(NoWarn);MSB3277</NoWarn> <!-- unity ships dlls with conflicting references -->
<OutputPath>bin\Debug</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<UserDir>$(HOMEDRIVE)$(HOMEPATH)</UserDir>
<ModName>LibConstruct</ModName>
<MyStationeersDir>$(UserDir)\Documents\My Games\Stationeers\</MyStationeersDir>
<ModOutputPath>$(MyStationeersDir)mods\$(ModName)\</ModOutputPath>
</PropertyGroup>
<Import Project="$(SolutionDir)$(ModName).VS.props" />
<PropertyGroup>
<StationeersManagedDirectory>$(StationeersDirectory)\rocketstation_Data\Managed</StationeersManagedDirectory>
<BIECoreDirectory>$(StationeersDirectory)\BepInEx\core</BIECoreDirectory>
<SLPPluginPath>$(StationeersDirectory)\BepInEx\plugins\StationeersLaunchPad</SLPPluginPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>embedded</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<GameReference Include="mscorlib" />
<GameReference Include="netstandard" />
<GameReference Include="Assembly-CSharp" />
<GameReference Include="UniTask" />
<GameReference Include="UnityEngine" />
<GameReference Include="UnityEngine.AnimationModule" />
<GameReference Include="UnityEngine.CoreModule" />
<GameReference Include="UnityEngine.PhysicsModule" />
<GameReference Include="BepInEx" />
<GameReference Include="0Harmony" />
<GameReference Include="LaunchPadBooster" />
<!-- search game and bepinex folder for named references -->
<_GameRefCandidate Include="@(GameReference->'$(StationeersManagedDirectory)\%(Identity).dll')" />
<_GameRefCandidate Include="@(GameReference->'$(BIECoreDirectory)\%(Identity).dll')" />
<_GameRefCandidate Include="@(GameReference->'$(SLPPluginPath)\%(Identity).dll')" />
<_GameRefResolved Include="@(_GameRefCandidate->Exists())" Path="%(FullPath)" />
<Reference Include="@(_GameRefResolved->'%(FileName)')" HintPath="%(Path)" Private="False" />
<_MissingRef Include="@(GameReference)" Exclude="@(Reference)" />
<!-- include all system dlls -->
<SystemDll Include="$(StationeersManagedDirectory)\System*.dll" />
<SystemRefs Include="@(SystemDll->'%(Filename)')">
<HintPath>$(StationeersManagedDirectory)\%(Identity).dll</HintPath>
</SystemRefs>
<Reference Include="@(SystemRefs)" Private="False" />
</ItemGroup>
<Target Name="ValidateGameRefs" BeforeTargets="Build" Condition="'@(_MissingRef)' != ''">
<Error Text="Failed to resolve GameReference %(_MissingRef.Identity)" />
</Target>
<Target Name="CopyToMods" AfterTargets="Build">
<ItemGroup>
<GameDataItems Include="$(ProjectDir)\GameData\**\*.*">
<BasePath>GameData\</BasePath>
</GameDataItems>
<AboutItems Include="$(ProjectDir)\About\**\*.*">
<BasePath>About\</BasePath>
</AboutItems>
<DeepCopyItems Include="@(GameDataItems);@(AboutItems)" />
<DeepCopyWithDest Include="@(DeepCopyItems)">
<DestFolder>%(DeepCopyItems.BasePath)%(DeepCopyItems.RecursiveDir)</DestFolder>
</DeepCopyWithDest>
<AssemblyFile Include="$(OutputPath)\$(ModName).dll" />
<BaseAllCopyItems Include="@(DeepCopyWithDest);@(AssemblyFile)" />
<AllCopyHasFolder Include="@(BaseAllCopyItems->HasMetadata('DestFolder'))" />
<AllCopyNoFolder Include="@(BaseAllCopyItems)" Exclude="@(AllCopyHasFolder)">
<DestFolder></DestFolder>
</AllCopyNoFolder>
<AllCopyItems Include="@(AllCopyHasFolder);@(AllCopyNoFolder)">
<Dest>$(ModOutputPath)%(DestFolder)%(FileName)%(Extension)</Dest>
<PrettySrc>$([System.String]::Copy('%(FullPath)').Replace('$(ProjectDir)', ''))</PrettySrc>
<PrettyDest>$([System.String]::Copy('%(AllCopyItems.Dest)').Replace('$(MyStationeersDir)', ''))</PrettyDest>
</AllCopyItems>
</ItemGroup>
<RemoveDir Directories="$(ModOutputPath)" />
<Message Text="%(AllCopyItems.PrettySrc) -> %(AllCopyItems.PrettyDest)" Importance="high" />
<Copy SourceFiles="%(AllCopyItems.FullPath)" DestinationFiles="%(AllCopyItems.Dest)" />
</Target>
</Project>