|
8 | 8 |
|
9 | 9 | <Import Project="..\build\targets\GitHash.props" /> |
10 | 10 |
|
11 | | - <Choose> |
12 | | - <When Condition="'$(Configuration)' == 'Debug' or '$(Configuration)' == 'Release' "> |
13 | | - <PropertyGroup> |
14 | | - <SkipSigning>false</SkipSigning><!-- Skip using the ,net toolset to generate signing . --> |
15 | | - <UseOpenSourceSign>true</UseOpenSourceSign> |
16 | | - </PropertyGroup> |
17 | | - <Choose> |
18 | | - <When Condition="'$(ProjectLanguage)' == 'FSharp'"> |
19 | | - <Choose> |
20 | | - <!-- Some unit test assemblies must not have strong names since they reference other assemblies that don't have strong names --> |
21 | | - <!-- These unit test assemblies can't use InternalsVisibleTo into assemblies with strong names. --> |
22 | | - <When Condition="'$(StrongNames)' == 'false'" > |
23 | | - <PropertyGroup> |
24 | | - <SkipSigning>true</SkipSigning> |
25 | | - <UseOpenSourceSign>false</UseOpenSourceSign> |
26 | | - <MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> |
27 | | - </PropertyGroup> |
28 | | - </When> |
29 | | - <!-- In the Microsoft build we just delay-sign everything with the MSFT key --> |
30 | | - <!-- We have to do unit test DLLs well because they can see the internals of other strong-named DLLs --> |
31 | | - <Otherwise> |
32 | | - <PropertyGroup> |
33 | | - <DelaySign>true</DelaySign> |
34 | | - <StrongNames>true</StrongNames> |
35 | | - <MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> |
36 | | - </PropertyGroup> |
37 | | - </Otherwise> |
38 | | - </Choose> |
39 | | - </When> |
40 | | - <Otherwise> |
41 | | - <!-- Not F# code --> |
42 | | - <PropertyGroup> |
43 | | - <SignAssembly>true</SignAssembly> |
44 | | - <AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\msft.pubkey</AssemblyOriginatorKeyFile> |
45 | | - <StrongNames>true</StrongNames> |
46 | | - <DelaySign>true</DelaySign> |
47 | | - <MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> |
48 | | - </PropertyGroup> |
49 | | - </Otherwise> |
50 | | - </Choose> |
51 | | - </When> |
52 | | - <Otherwise> |
53 | | - <PropertyGroup Condition="'$(StrongNames)' != 'true'"> |
54 | | - <!-- For the proto build we don't use strong names. --> |
55 | | - <DefineConstants>NO_STRONG_NAMES;$(DefineConstants)</DefineConstants> |
56 | | - <MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> |
57 | | - </PropertyGroup> |
58 | | - </Otherwise> |
59 | | - </Choose> |
| 11 | + <PropertyGroup> |
| 12 | + <MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage> |
| 13 | + </PropertyGroup> |
60 | 14 |
|
| 15 | + <!-- Some unit test assemblies must not have strong names since they reference other assemblies that don't have strong names --> |
| 16 | + <!-- These unit test assemblies can't use InternalsVisibleTo into assemblies with strong names. --> |
| 17 | + <PropertyGroup Condition="'$(StrongNames)' == 'false'"> |
| 18 | + <SkipSigning>true</SkipSigning> |
| 19 | + <UseOpenSourceSign>false</UseOpenSourceSign> |
| 20 | + <SignAssembly>false</SignAssembly> |
| 21 | + <DefineConstants>NO_STRONG_NAMES;$(DefineConstants)</DefineConstants> |
| 22 | + </PropertyGroup> |
| 23 | + |
| 24 | + <!-- On mono, use test.snk to sign private compiler binaries --> |
| 25 | + <PropertyGroup Condition="'$(StrongNames)' != 'false' AND '$(MonoPackaging)' == 'true' AND '$(AssemblyName)' != 'FSharp.Core' AND '$(AssemblyName)' != 'FSharp.Compiler.Interactive.Settings'" > |
| 26 | + <AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile> |
| 27 | + <DelaySign>false</DelaySign> |
| 28 | + <DefineConstants>STRONG_NAME_FSHARP_COMPILER_WITH_TEST_KEY;$(DefineConstants)</DefineConstants> |
| 29 | + </PropertyGroup> |
| 30 | + |
| 31 | + <!-- On proto, use he FSharp.Core assembly version for everything (it only matters we get it right for FSharp.Core), and pass the version flag explicitly if not using MicroBuild --> |
61 | 32 | <PropertyGroup Condition="'$(Configuration)' == 'Proto'"> |
62 | | - <OtherFlags >$(OtherFlags) --version:"$(MicroBuildAssemblyVersion)"</OtherFlags> |
| 33 | + <MicroBuildAssemblyVersion>$(FSCoreVersion)</MicroBuildAssemblyVersion> |
| 34 | + <OtherFlags>$(OtherFlags) --version:"$(MicroBuildAssemblyVersion)"</OtherFlags> |
63 | 35 | </PropertyGroup> |
64 | 36 |
|
65 | 37 | <PropertyGroup Condition="'$(UseSourceLink)' == 'true'"> |
66 | 38 | <SourceLink>$(IntermediateOutputPath)source_link.json</SourceLink> |
67 | 39 | </PropertyGroup> |
68 | 40 |
|
69 | | - <PropertyGroup Condition="'$(StrongNames)' != 'true'"> |
70 | | - <DefineConstants>NO_STRONG_NAMES;$(DefineConstants)</DefineConstants> |
71 | | - </PropertyGroup> |
72 | | - |
| 41 | + <!-- We assume MSBuild 15.0 or greater. Note the Mono packaging doesn't actually rely on any specific version of MSBuild any longer except to build the MSBuild task--> |
73 | 42 | <PropertyGroup> |
74 | 43 | <DefineConstants>MSBUILD_AT_LEAST_14;$(DefineConstants)</DefineConstants> |
75 | 44 | </PropertyGroup> |
76 | 45 |
|
| 46 | + <!-- Disable uwa toolchain nuget package resolve logic. --> |
77 | 47 | <PropertyGroup> |
78 | | - <!-- Disable uwa toolchain nuget package resolve logic. --> |
79 | 48 | <NuGetTargets Condition="'$(NuGetTargets)' == ''">false</NuGetTargets> |
80 | 49 | </PropertyGroup> |
81 | 50 |
|
|
126 | 95 | <TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.0'">fsharp30\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory> |
127 | 96 | <TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.1'">fsharp31\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory> |
128 | 97 | <TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '4.0'">fsharp40\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory> |
129 | | - <IntermediateOutputPath>obj\$(TargetFrameworkOutputDirectory)\</IntermediateOutputPath> |
| 98 | + <TargetFrameworkOutputDirectory>$(TargetDotnetProfile)</TargetFrameworkOutputDirectory> |
| 99 | + <IntermediateOutputPath>obj\$(Configuration)\$(TargetFrameworkOutputDirectory)\</IntermediateOutputPath> |
130 | 100 | </PropertyGroup> |
131 | 101 |
|
132 | 102 | <Choose> |
|
0 commit comments