summaryrefslogtreecommitdiff
path: root/src/mscorlib/ref/mscorlib.csproj
blob: 335630e37b9010a691a4548a7caf74db317302fc (plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

  <!-- Include common build properties -->
  <Import Project="..\..\..\dir.props" />

  <!-- Compilation options -->
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">$(BuildType)</Configuration>
    <PlatformTarget>AnyCPU</PlatformTarget>

    <ProjectGuid>{B8ADD332-40B6-4916-B418-FBB79E5898B3}</ProjectGuid>

    <OutputType>Library</OutputType>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>

    <!-- This prevents the default MsBuild targets from referencing System.Core.dll -->
    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
    <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll -->
    <NoStdLib>true</NoStdLib>
    <NoCompilerStandardLib>true</NoCompilerStandardLib>

    <ErrorReport>prompt</ErrorReport>
    <Optimize Condition="'$(Optimize)' == ''">true</Optimize>
    <CLSCompliant>true</CLSCompliant>
    <WarningLevel>4</WarningLevel>
    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
    <WarningsNotAsErrors>$(WarningsNotAsErrors);618</WarningsNotAsErrors>
    <NoWarn>618,649,3019,414,169,3015,3021</NoWarn>
    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>

    <SignAssembly>true</SignAssembly>
    <DelaySign>true</DelaySign>
  </PropertyGroup>

  <!-- On Windows we support FEATURE_COMINTEROP and FEATURE_COREFX_GLOBALIZATION -->
  <PropertyGroup Condition="'$(TargetsUnix)'!='true'">
    <DefineConstants>$(DefineConstants);FEATURE_COREFX_GLOBALIZATION;FEATURE_COMINTEROP</DefineConstants>
  </PropertyGroup>

  <!-- Roslyn does not support writing PDBs on Unix -->
  <PropertyGroup Condition="'$(OsEnvironment)' == 'Unix'">
    <DebugSymbols>false</DebugSymbols>
    <DebugType>none</DebugType>
  </PropertyGroup>

  <!-- Assembly attributes -->
  <PropertyGroup>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
    <MajorVersion>4</MajorVersion>
    <MinorVersion>6</MinorVersion>
  </PropertyGroup>

  <!-- Output paths -->
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(RootBinDir)\obj</BaseIntermediateOutputPath>
    <IntermediateOutputPath>$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(Configuration)\ref</IntermediateOutputPath>
    <OutputPath>$(BinDir)\ref</OutputPath>
  </PropertyGroup>

 <PropertyGroup>
    <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip
         the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). -->
    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="$(MSBuildThisFileDirectory)\mscorlib.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)\mscorlib.manual.cs" />
  </ItemGroup>

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.Targets" />

  <PropertyGroup>
    <StrongNameSig>Silverlight</StrongNameSig>
  </PropertyGroup>

  <!-- Import signing tools -->
  <Import Condition="Exists('$(ToolsDir)\sign.targets')" Project="$(ToolsDir)\sign.targets" />

  <!-- Overwrite the key that we are going to use for signing -->
  <PropertyGroup>
    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)..\Tools\Signing\mscorlib.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

  <Import Project="$(MSBuildThisFileDirectory)..\Tools\Versioning\GenerateVersionInfo.targets"/>
  <!-- Override versioning targets -->
  <Import Condition="Exists('$(ToolsDir)versioning.targets')" Project="$(ToolsDir)versioning.targets" />
  <Import Project="..\GenerateCompilerResponseFile.targets"/>
</Project>