-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathApp.Head.Wasm.props
More file actions
80 lines (64 loc) · 4.45 KB
/
App.Head.Wasm.props
File metadata and controls
80 lines (64 loc) · 4.45 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
<Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>$(WasmHeadTargetFramework.Split(';')[0])</TargetFramework>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)\App.Head.Uno.props" />
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<!-- Linker: https://platform.uno/docs/articles/features/using-il-linker-webassembly.html-->
<WasmShellILLinkerEnabled>true</WasmShellILLinkerEnabled>
<!-- Aot/Interpreter: https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/runtime-execution-modes.html -->
<!-- Change to `true` to enable profile-guided AOT generation. Once profile is generated, commit and revert this flag. -->
<WasmShellGenerateAOTProfile Condition="!Exists('aot.profile')">false</WasmShellGenerateAOTProfile>
<!-- TODO: Some components broken under InterpreterAndAot (linker issues?). FullAOT not building. -->
<WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode>
<WasmShellMonoRuntimeExecutionMode Condition="'$(WasmShellGenerateAOTProfile)' == 'true'">Interpreter</WasmShellMonoRuntimeExecutionMode>
<WasmShellMonoRuntimeExecutionMode Condition="Exists('aot.profile')">InterpreterAndAOT</WasmShellMonoRuntimeExecutionMode>
<!-- MultiThreading: https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/features-threading.html -->
<WasmShellEnableThreads>false</WasmShellEnableThreads>
<WasmShellPThreadsPoolSize Condition="'$(WasmShellEnableThreads)' == 'true'">8</WasmShellPThreadsPoolSize>
<!-- MultiThreading SharedArrayBuffer workaround: https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/features-additional-files.html -->
<WasmShellIndexHtmlPath Condition="'$(WasmShellEnableThreads)' == 'true'">$(MSBuildProjectDirectory)\wwwroot\index.html</WasmShellIndexHtmlPath>
<!-- Pre-compression: https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/features-pre-compression.html -->
<WasmShellCompressionLayoutMode>InPlace</WasmShellCompressionLayoutMode>
<!-- Xaml Trimming: https://platform.uno/docs/articles/features/resources-trimming.html -->
<UnoXamlResourcesTrimming>true</UnoXamlResourcesTrimming>
<!-- JIT for Interpreter mode https://github.com/unoplatform/Uno.Wasm.Bootstrap/blob/main/doc/runtime-execution-modes.md#jiterpreter-mode -->
<WasmShellEnableJiterpreter Condition="'$(WasmShellMonoRuntimeExecutionMode)' == 'Interpreter'">true</WasmShellEnableJiterpreter>
</PropertyGroup>
<!-- .NET 9.0 SDK automatically includes wwwroot\index.html, conflicting with Uno bootstrapper's generated index.html. -->
<ItemGroup>
<Content Remove="wwwroot\index.html" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
<WasmShellEnableAotProfile Condition="Exists('aot.profile')" Include="aot.profile" />
<!-- https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/features-4gb.html -->
<WasmShellExtraEmccFlags Include="-s MAXIMUM_MEMORY=4GB"/>
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<!-- Debugger support https://platform.uno/docs/articles/external/uno.wasm.bootstrap/doc/debugger-support.html -->
<MonoRuntimeDebuggerEnabled>true</MonoRuntimeDebuggerEnabled>
<DefineConstants>$(DefineConstants);TRACE;DEBUG</DefineConstants>
<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>
<!--
IL Linking is disabled in Debug configuration.
When building in Release, see
-->
<WasmShellILLinkerEnabled>false</WasmShellILLinkerEnabled>
<WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Markdig" Version="0.38.0" />
<PackageReference Include="Microsoft.Windows.Compatibility" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.0" />
<PackageReference Include="Uno.Extensions.Logging.WebAssembly.Console" Version="1.9.0-dev.2" />
<PackageReference Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="$(CommonUnoPackageVersion)" />
<PackageReference Include="Uno.Wasm.Bootstrap" Version="9.0.10" />
<PackageReference Include="Microsoft.NET.ILLink.Tasks" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<LinkerDescriptor Include="$(ToolingDirectory)\CommunityToolkit.App.Shared\LinkerConfig.xml" />
</ItemGroup>
</Project>