-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMagic.csproj
More file actions
43 lines (40 loc) · 2.49 KB
/
Copy pathMagic.csproj
File metadata and controls
43 lines (40 loc) · 2.49 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
<Project>
<PropertyGroup>
<NostrandExeNet4x>nostrand/bin/Release/net471/NostrandMain.exe</NostrandExeNet4x>
<NostrandExeNet5>nostrand/bin/Release/net5.0/NostrandMain.dll</NostrandExeNet5>
<MagicUnityInfrastructureExport>magic-unity/Runtime/Infrastructure/Export</MagicUnityInfrastructureExport>
<ClojureRuntimeDllNet471>clojure-runtime/bin/Release/net471/Clojure.dll</ClojureRuntimeDllNet471>
<ClojureRuntimeDllNetStandard>clojure-runtime/bin/Release/netstandard2.0/Clojure.dll</ClojureRuntimeDllNetStandard>
<MagicRuntimeDllNet471>magic-runtime/Magic.Runtime/bin/Release/net471/Magic.Runtime.dll</MagicRuntimeDllNet471>
<NostrandReferences>nostrand/references</NostrandReferences>
<MagicBootstrap>magic-compiler/bootstrap</MagicBootstrap>
</PropertyGroup>
<ItemGroup>
<MagicAllBinaries Include="magic-compiler/bootstrap/*.clj.dll"/>
<MagicRuntimeBinaries Include="magic-compiler/bootstrap/clojure*.clj.dll" Exclude="magic-compiler/bootstrap/clojure.tools.analyzer*.clj.dll" />
</ItemGroup>
<Target Name="All">
<Exec Command="dotnet build -t:Clean" />
<Exec Command="dotnet build -t:Magic" />
<Exec Command="dotnet build -t:Bootstrap" />
<Exec Command="dotnet build -t:MagicUnity" />
</Target>
<Target Name="Nostrand" Condition="!Exists('$(NostrandExeNet4x)') Or !Exists('$(NostrandExeNet5)')">
<Exec WorkingDirectory="nostrand" Command="dotnet build -c Release" />
</Target>
<Target Name="Magic" DependsOnTargets="Nostrand" Condition="!Exists('$(MagicBootstrap)')">
<Exec WorkingDirectory="magic-compiler" Command="mono ../$(NostrandExeNet4x) build/bootstrap" />
</Target>
<Target Name="MagicUnity" DependsOnTargets="Magic">
<Copy SourceFiles="@(MagicRuntimeBinaries)" DestinationFolder="$(MagicUnityInfrastructureExport)" />
<Copy SourceFiles="$(ClojureRuntimeDllNet471)" DestinationFolder="$(MagicUnityInfrastructureExport)" />
<Copy SourceFiles="$(MagicRuntimeDllNet471)" DestinationFolder="$(MagicUnityInfrastructureExport)" />
</Target>
<Target Name="Bootstrap" DependsOnTargets="Magic">
<Copy SourceFiles="@(MagicAllBinaries)" DestinationFolder="$(NostrandReferences)" />
<Exec WorkingDirectory="nostrand" Command="dotnet build -c Release" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="clojure-runtime/bin;nostrand/bin;magic-runtime/bin;magic-compiler/bootstrap" />
</Target>
</Project>