-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathVSharp.CoverageTool.fsproj
67 lines (54 loc) · 3.13 KB
/
VSharp.CoverageTool.fsproj
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
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Configurations>Debug;Release;DebugTailRec</Configurations>
<Platforms>AnyCPU</Platforms>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<CoverageBuildType>Debug</CoverageBuildType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'DebugTailRec' ">
<Tailcalls>true</Tailcalls>
<DebugSymbols>true</DebugSymbols>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<CoverageBuildType>Debug</CoverageBuildType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<CoverageBuildType>Release</CoverageBuildType>
</PropertyGroup>
<ItemGroup>
<Compile Include="CoverageTool.fs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VSharp.IL\VSharp.IL.fsproj" />
<ProjectReference Include="..\VSharp.Utils\VSharp.Utils.fsproj" />
</ItemGroup>
<Target Name="UnixBuildCoverage" AfterTargets="BeforeBuild" Condition=" !$([MSBuild]::IsOSPlatform('Windows')) ">
<Exec Command="
 cd ../VSharp.CoverageInstrumenter
 mkdir cmake-build-$(CoverageBuildType)
 cd cmake-build-$(CoverageBuildType)
 cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=$(CoverageBuildType) ../
 cmake --build . --target vsharpCoverage -j 6" />
</Target>
<Target Name="WinBuildCoverage" AfterTargets="BeforeBuild" Condition=" $([MSBuild]::IsOSPlatform('Windows')) ">
<Exec Command="
 cd ..\VSharp.CoverageInstrumenter
 mkdir cmake-build-$(CoverageBuildType)
 cd cmake-build-$(CoverageBuildType)
 cmake -G %22Visual Studio 17 2022%22 -DCMAKE_BUILD_TYPE=$(CoverageBuildType) ../
 cmake --build . --config $(CoverageBuildType) --target ALL_BUILD -j 6" />
</Target>
<ItemGroup Condition=" $([MSBuild]::IsOSPlatform('Linux')) ">
<Content Include="..\VSharp.CoverageInstrumenter\cmake-build-$(CoverageBuildType)\libvsharpCoverage.so">
<Link>libvsharpCoverage.so</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup Condition=" $([MSBuild]::IsOSPlatform('OSX')) ">
<Content Include="..\VSharp.CoverageInstrumenter\cmake-build-$(CoverageBuildType)\libvsharpCoverage.dylib">
<Link>libvsharpCoverage.dylib</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup Condition=" $([MSBuild]::IsOSPlatform('Windows')) ">
<Content Include="..\VSharp.CoverageInstrumenter\cmake-build-$(CoverageBuildType)\$(CoverageBuildType)\libvsharpCoverage.dll">
<Link>libvsharpCoverage.dll</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Update="FSharp.Core" Version="7.0.*" />
</ItemGroup>
</Project>