Skip to content

Commit ac767fd

Browse files
jakobhellermannK0lb3
authored andcommitted
compile features: make backends togglable
1 parent bd5d09d commit ac767fd

3 files changed

Lines changed: 49 additions & 11 deletions

File tree

TypeTreeGeneratorAPI/TypeTreeGenerator/MonoCecilResolver.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Mono.Cecil;
1+
#if ENABLE_ASSET_STUDIO || ENABLE_ASSETS_TOOLS
2+
using Mono.Cecil;
23
using AssemblyDefinition = Mono.Cecil.AssemblyDefinition;
34

45
namespace TypeTreeGeneratorAPI.TypeTreeGenerator
@@ -58,4 +59,5 @@ protected override void Dispose(bool disposing)
5859
base.Dispose(disposing);
5960
}
6061
}
61-
}
62+
}
63+
#endif

TypeTreeGeneratorAPI/TypeTreeGenerator/TypeTreeGeneratorHandle.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,21 @@ public TypeTreeGeneratorHandle(string type, string unityVersionString)
88
{
99
switch (type)
1010
{
11+
#if ENABLE_ASSET_STUDIO
1112
case "AssetStudio":
1213
Instance = new AssetStudio.AssetStudioGenerator(unityVersionString);
1314
break;
15+
#endif
16+
#if ENABLE_ASSETS_TOOLS
1417
case "AssetsTools":
1518
Instance = new AssetsTools.AssetsToolsGenerator(unityVersionString);
1619
break;
20+
#endif
21+
#if ENABLE_ASSET_RIPPER
1722
case "AssetRipper":
1823
Instance = new AssetRipper.AssetRipperGenerator(unityVersionString);
1924
break;
25+
#endif
2026
default:
2127
throw new ArgumentException($"Unknown TypeTreeGenerator type: {type}");
2228
}

TypeTreeGeneratorAPI/TypeTreeGeneratorAPI.csproj

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,52 @@
1313
<TargetName Condition="'$(OS)' != 'Windows_NT'">lib$(TargetName)</TargetName>
1414
</PropertyGroup>
1515

16+
<PropertyGroup>
17+
<EnableAssetRipper>true</EnableAssetRipper>
18+
<EnableAssetsTools>true</EnableAssetsTools>
19+
<EnableAssetStudio>true</EnableAssetStudio>
20+
</PropertyGroup>
21+
22+
<PropertyGroup Condition="'$(EnableAssetRipper)' == 'true'">
23+
<DefineConstants>$(DefineConstants);ENABLE_ASSET_RIPPER</DefineConstants>
24+
</PropertyGroup>
25+
<PropertyGroup Condition="'$(EnableAssetsTools)' == 'true'">
26+
<DefineConstants>$(DefineConstants);ENABLE_ASSETS_TOOLS</DefineConstants>
27+
</PropertyGroup>
28+
<PropertyGroup Condition="'$(EnableAssetStudio)' == 'true'">
29+
<DefineConstants>$(DefineConstants);ENABLE_ASSET_STUDIO</DefineConstants>
30+
</PropertyGroup>
31+
32+
<ItemGroup Condition="'$(EnableAssetRipper)' == 'false'">
33+
<Compile Remove="TypeTreeGenerator/AssetRipper/**/*" />
34+
</ItemGroup>
35+
<ItemGroup Condition="'$(EnableAssetStudio)' == 'false'">
36+
<Compile Remove="TypeTreeGenerator/AssetStudio/**/*" />
37+
</ItemGroup>
38+
<ItemGroup Condition="'$(EnableAssetsTools)' == 'false'">
39+
<Compile Remove="TypeTreeGenerator/AssetsTools/**/*" />
40+
</ItemGroup>
41+
1642
<ItemGroup>
1743
<PackageReference Include="AssetRipper.Primitives" Version="3.2.0" />
44+
<PackageReference Include="Samboy063.Cpp2IL.Core" Version="2022.1.0-pre-release.19" />
45+
<PackageReference Include="System.Text.Json" Version="9.0.2" />
46+
</ItemGroup>
47+
48+
<ItemGroup Condition="'$(EnableAssetRipper)' == 'true'">
49+
<ProjectReference Include="..\AssetRipper\Source\AssetRipper.SerializationLogic\AssetRipper.SerializationLogic.csproj" />
50+
</ItemGroup>
51+
52+
<ItemGroup Condition="'$(EnableAssetsTools)' == 'true'">
1853
<PackageReference Include="AssetsTools.NET.Cpp2IL" Version="1.0.1-preview1" />
1954
<PackageReference Include="AssetsTools.NET.MonoCecil" Version="1.0.1" />
55+
</ItemGroup>
56+
57+
<ItemGroup Condition="'$(EnableAssetsTools)' or '$(EnableAssetStudio)' == 'true'">
2058
<PackageReference Include="Mono.Cecil" Version="0.11.6" />
21-
<PackageReference Include="Samboy063.Cpp2IL.Core" Version="2022.1.0-pre-release.19" />
22-
<PackageReference Include="System.Text.Json" Version="9.0.2" />
2359
</ItemGroup>
2460

25-
<ItemGroup>
61+
<ItemGroup Condition="'$(EnableAssetStudio)' == 'true'">
2662
<Compile Include="..\UnityCsReference\Tools\Unity.CecilTools\CecilUtils.cs">
2763
<Link>TypeTreeGenerator\AssetStudio\Unity.CecilTools\CecilUtils.cs</Link>
2864
</Compile>
@@ -38,13 +74,7 @@
3874
<Compile Include="..\UnityCsReference\Tools\Unity.SerializationLogic\UnityEngineTypePredicates.cs">
3975
<Link>TypeTreeGenerator\AssetStudio\Unity.SerializationLogic\UnityEngineTypePredicates.cs</Link>
4076
</Compile>
41-
</ItemGroup>
4277

43-
<ItemGroup>
44-
<ProjectReference Include="..\AssetRipper\Source\AssetRipper.SerializationLogic\AssetRipper.SerializationLogic.csproj" />
45-
</ItemGroup>
46-
47-
<ItemGroup>
4878
<Compile Update="..\UnityCsReference\Tools\Unity.CecilTools\Extensions\MethodDefinitionExtensions.cs" Link="TypeTreeGenerator\AssetStudio\Unity.CecilTools\Extensions\%(RecursiveDir)%(Filename)%(Extension)" />
4979
<Compile Update="..\UnityCsReference\Tools\Unity.CecilTools\Extensions\ResolutionExtensions.cs" Link="TypeTreeGenerator\AssetStudio\Unity.CecilTools\Extensions\%(RecursiveDir)%(Filename)%(Extension)" />
5080
<Compile Update="..\UnityCsReference\Tools\Unity.CecilTools\Extensions\TypeDefinitionExtensions.cs" Link="TypeTreeGenerator\AssetStudio\Unity.CecilTools\Extensions\%(RecursiveDir)%(Filename)%(Extension)" />

0 commit comments

Comments
 (0)