|
| 1 | +<?xml version="1.0" encoding="utf-8"?> |
| 2 | +<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. --> |
| 3 | +<Project Sdk="Microsoft.NET.Sdk"> |
| 4 | + |
| 5 | + <PropertyGroup> |
| 6 | + <OutputType>Library</OutputType> |
| 7 | + <TargetFrameworks Condition="'$(Configuration)' == 'Proto'">netstandard2.0</TargetFrameworks> |
| 8 | + <TargetFrameworks Condition="'$(Configuration)' != 'Proto'">netstandard2.0;netstandard2.1</TargetFrameworks> |
| 9 | + <NoWarn>$(NoWarn);62</NoWarn> <!-- ML Compat --> |
| 10 | + <NoWarn>$(NoWarn);75</NoWarn> <!-- InternalCommandLineOption --> |
| 11 | + <NoWarn>$(NoWarn);1204</NoWarn> <!-- This construct is for use in the FSharp.Core library and should not be used directly --> |
| 12 | + <AllowCrossTargeting>true</AllowCrossTargeting> |
| 13 | + <DefineConstants>$(DefineConstants);FSHARP_CORE</DefineConstants> |
| 14 | + <!-- 3218: ArgumentsInSigAndImplMismatch --> |
| 15 | + <OtherFlags>$(OtherFlags) --warnon:3218</OtherFlags> |
| 16 | + <!-- 1182: Unused variables --> |
| 17 | + <OtherFlags>$(OtherFlags) --warnon:1182</OtherFlags> |
| 18 | + <!-- 3390: xmlDocBadlyFormed --> |
| 19 | + <OtherFlags>$(OtherFlags) --warnon:3390</OtherFlags> |
| 20 | + <!-- 3520: invalidXmlDocPosition --> |
| 21 | + <OtherFlags>$(OtherFlags) --warnon:3520</OtherFlags> |
| 22 | + <!-- Turn off 57: Use of construct with Experimental attribute --> |
| 23 | + <OtherFlags>$(OtherFlags) --nowarn:57</OtherFlags> |
| 24 | + <!-- Turn off 3511: state machine not compilable - expected for inlined functions defining state machine generators --> |
| 25 | + <OtherFlags>$(OtherFlags) --nowarn:3511</OtherFlags> |
| 26 | + <!-- Turn off 3513: resumable code invocation' - expected for resumable code combinators --> |
| 27 | + <OtherFlags>$(OtherFlags) --nowarn:3513</OtherFlags> |
| 28 | + <OtherFlags>$(OtherFlags) --compiling-fslib --maxerrors:100 --extraoptimizationloops:1</OtherFlags> |
| 29 | + <!-- .tail annotations always emitted for this binary, even in debug mode --> |
| 30 | + <Tailcalls>true</Tailcalls> |
| 31 | + <PreRelease>true</PreRelease> |
| 32 | + <Configurations>Debug;Release;Proto</Configurations> |
| 33 | + </PropertyGroup> |
| 34 | + |
| 35 | + <!-- .FSharp.Core always uses the old style initialization mechanism because of SQL CLR requirements --> |
| 36 | + <PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' != 'true' and '$(Configuration)' != 'Proto'"> |
| 37 | + <OtherFlags>$(OtherFlags) --realsig+</OtherFlags> |
| 38 | + </PropertyGroup> |
| 39 | + |
| 40 | + <!-- The FSharp.Core dll provides a referencable public interface --> |
| 41 | + <PropertyGroup Condition="'$(Configuration)' != 'Proto'"> |
| 42 | + <NoOptimizationData>false</NoOptimizationData> |
| 43 | + <NoInterfaceData>false</NoInterfaceData> |
| 44 | + <CompressMetadata>true</CompressMetadata> |
| 45 | + </PropertyGroup> |
| 46 | + |
| 47 | + <!-- When we build FCS solution and we include FSCore as reference, set path explicitly --> |
| 48 | + <PropertyGroup Condition="'$(BUILDING_USING_DOTNET)' == 'true'"> |
| 49 | + <OutputPath>$(ArtifactsDir)/bin/$(MSBuildProjectName)/$(Configuration)/</OutputPath> |
| 50 | + <IntermediateOutputPath>$(ArtifactsDir)obj/$(MSBuildProjectName)/$(Configuration)/</IntermediateOutputPath> |
| 51 | + </PropertyGroup> |
| 52 | + |
| 53 | + <ItemGroup> |
| 54 | + <EmbeddedResource Update="FSCore.resx"> |
| 55 | + <GenerateSource>true</GenerateSource> |
| 56 | + <GenerateLegacyCode>true</GenerateLegacyCode> |
| 57 | + <GenerateLiterals>false</GenerateLiterals> |
| 58 | + <GeneratedModuleName>Microsoft.FSharp.Core.SR</GeneratedModuleName> |
| 59 | + <Link>FSCore.resx</Link> |
| 60 | + </EmbeddedResource> |
| 61 | + <EmbeddedResource Include="ILLink.LinkAttributes.xml" LogicalName="ILLink.LinkAttributes.xml" /> |
| 62 | + <EmbeddedResource Include="ILLink.Substitutions.xml" LogicalName="ILLink.Substitutions.xml" /> |
| 63 | + </ItemGroup> |
| 64 | + <ItemGroup Condition="'$(Configuration)' == 'Proto' or '$(BUILDING_USING_DOTNET)' == 'true'"> |
| 65 | + <!-- This can be removed once CompileBefore support is shipped in an rtm relase --> |
| 66 | + <CompileBefore Include="..\FSharp.Core\prim-types-prelude.fsi" /> |
| 67 | + <CompileBefore Include="..\FSharp.Core\prim-types-prelude.fs" /> |
| 68 | + </ItemGroup> |
| 69 | + <ItemGroup Condition="'$(Configuration)' != 'Proto' and '$(BUILDING_USING_DOTNET)' != 'true'"> |
| 70 | + <Compile Include="..\FSharp.Core\prim-types-prelude.fsi" CompileOrder="CompileFirst" /> |
| 71 | + <Compile Include="..\FSharp.Core\prim-types-prelude.fs" CompileOrder="CompileFirst" /> |
| 72 | + </ItemGroup> |
| 73 | + <ItemGroup> |
| 74 | + <Compile Include="..\FSharp.Core\prim-types.fsi" /> |
| 75 | + <Compile Include="..\FSharp.Core\prim-types.fs" /> |
| 76 | + <Compile Include="..\FSharp.Core\Random.fsi" /> |
| 77 | + <Compile Include="..\FSharp.Core\Random.fs" /> |
| 78 | + <Compile Include="..\FSharp.Core\local.fsi" /> |
| 79 | + <Compile Include="..\FSharp.Core\local.fs" /> |
| 80 | + <Compile Include="..\FSharp.Core\option.fsi" /> |
| 81 | + <Compile Include="..\FSharp.Core\option.fs" /> |
| 82 | + <Compile Include="..\FSharp.Core\result.fsi" /> |
| 83 | + <Compile Include="..\FSharp.Core\result.fs" /> |
| 84 | + <Compile Include="..\FSharp.Core\collections.fsi" /> |
| 85 | + <Compile Include="..\FSharp.Core\collections.fs" /> |
| 86 | + <Compile Include="..\FSharp.Core\seqcore.fsi" /> |
| 87 | + <Compile Include="..\FSharp.Core\seqcore.fs" /> |
| 88 | + <Compile Include="..\FSharp.Core\seq.fsi" /> |
| 89 | + <Compile Include="..\FSharp.Core\seq.fs" /> |
| 90 | + <Compile Include="..\FSharp.Core\string.fsi" /> |
| 91 | + <Compile Include="..\FSharp.Core\string.fs" /> |
| 92 | + <Compile Include="..\FSharp.Core\list.fsi" /> |
| 93 | + <Compile Include="..\FSharp.Core\list.fs" /> |
| 94 | + <Compile Include="..\FSharp.Core\array.fsi" /> |
| 95 | + <Compile Include="..\FSharp.Core\array.fs" /> |
| 96 | + <Compile Include="..\FSharp.Core\array2.fsi" /> |
| 97 | + <Compile Include="..\FSharp.Core\array2.fs" /> |
| 98 | + <Compile Include="..\FSharp.Core\array3.fsi" /> |
| 99 | + <Compile Include="..\FSharp.Core\array3.fs" /> |
| 100 | + <Compile Include="..\FSharp.Core\map.fsi" /> |
| 101 | + <Compile Include="..\FSharp.Core\map.fs" /> |
| 102 | + <Compile Include="..\FSharp.Core\set.fsi" /> |
| 103 | + <Compile Include="..\FSharp.Core\set.fs" /> |
| 104 | + <Compile Include="..\FSharp.Core\collectionextensions.fsi" /> |
| 105 | + <Compile Include="..\FSharp.Core\collectionextensions.fs" /> |
| 106 | + <Compile Include="..\FSharp.Core\reflect.fsi" /> |
| 107 | + <Compile Include="..\FSharp.Core\reflect.fs" /> |
| 108 | + <Compile Include="..\FSharp.Core\math\z.fsi" /> |
| 109 | + <Compile Include="..\FSharp.Core\math\z.fs" /> |
| 110 | + <Compile Include="..\FSharp.Core\..\Compiler\Utilities\sformat.fsi" /> |
| 111 | + <Compile Include="..\FSharp.Core\..\Compiler\Utilities\sformat.fs" /> |
| 112 | + <Compile Include="..\FSharp.Core\printf.fsi" /> |
| 113 | + <Compile Include="..\FSharp.Core\printf.fs" /> |
| 114 | + <Compile Include="..\FSharp.Core\quotations.fsi" /> |
| 115 | + <Compile Include="..\FSharp.Core\quotations.fs" /> |
| 116 | + <Compile Include="..\FSharp.Core\nativeptr.fsi" /> |
| 117 | + <Compile Include="..\FSharp.Core\nativeptr.fs" /> |
| 118 | + <Compile Include="..\FSharp.Core\event.fsi" /> |
| 119 | + <Compile Include="..\FSharp.Core\event.fs" /> |
| 120 | + <Compile Include="..\FSharp.Core\resumable.fsi" /> |
| 121 | + <Compile Include="..\FSharp.Core\resumable.fs" /> |
| 122 | + <Compile Include="..\FSharp.Core\async.fsi" /> |
| 123 | + <Compile Include="..\FSharp.Core\async.fs" /> |
| 124 | + <Compile Include="..\FSharp.Core\tasks.fsi" /> |
| 125 | + <Compile Include="..\FSharp.Core\tasks.fs" /> |
| 126 | + <Compile Include="..\FSharp.Core\eventmodule.fsi" /> |
| 127 | + <Compile Include="..\FSharp.Core\eventmodule.fs" /> |
| 128 | + <Compile Include="..\FSharp.Core\observable.fsi" /> |
| 129 | + <Compile Include="..\FSharp.Core\observable.fs" /> |
| 130 | + <Compile Include="..\FSharp.Core\mailbox.fsi" /> |
| 131 | + <Compile Include="..\FSharp.Core\mailbox.fs" /> |
| 132 | + <Compile Include="..\FSharp.Core\Nullable.fsi" /> |
| 133 | + <Compile Include="..\FSharp.Core\Nullable.fs" /> |
| 134 | + <Compile Include="..\FSharp.Core\Linq.fsi" /> |
| 135 | + <Compile Include="..\FSharp.Core\Linq.fs" /> |
| 136 | + <Compile Include="..\FSharp.Core\MutableTuple.fs" /> |
| 137 | + <Compile Include="..\FSharp.Core\QueryExtensions.fs" /> |
| 138 | + <Compile Include="..\FSharp.Core\Query.fsi" /> |
| 139 | + <Compile Include="..\FSharp.Core\Query.fs" /> |
| 140 | + <Compile Include="..\FSharp.Core\SI.fs" /> |
| 141 | + <Compile Include="..\FSharp.Core\fslib-extra-pervasives.fsi" /> |
| 142 | + <Compile Include="..\FSharp.Core\fslib-extra-pervasives.fs" /> |
| 143 | + </ItemGroup> |
| 144 | + |
| 145 | + <Target Name="CopyToBuiltBin" BeforeTargets="BuiltProjectOutputGroup" AfterTargets="CoreCompile"> |
| 146 | + <PropertyGroup> |
| 147 | + <BuildOutputGroupLocation>$(BaseOutputPath)\$(Configuration)\$(TargetFramework)</BuildOutputGroupLocation> |
| 148 | + </PropertyGroup> |
| 149 | + <ItemGroup> |
| 150 | + <BuiltProjectOutputGroupKeyOutput Include="$(BuildOutputGroupLocation)\fscorlib.xml" /> |
| 151 | + </ItemGroup> |
| 152 | + </Target> |
| 153 | + |
| 154 | +</Project> |
0 commit comments