summaryrefslogtreecommitdiff
path: root/dir.props
blob: 5fc9429b00cfbf0223226602a8a6db4ee337bb6b (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <!--
    $(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix.
  -->
  <PropertyGroup>
    <OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment>
  </PropertyGroup>
  
  <!-- Build Tools Versions -->
  <PropertyGroup>
    <BuildToolsVersion>1.0.25-prerelease-00056</BuildToolsVersion>
    <BuildToolsCoreCLRVersion>1.0.2-prerelease</BuildToolsCoreCLRVersion>
    <DnxVersion Condition="'$(OsEnvironment)'!='Unix'">1.0.0-beta5-12101</DnxVersion>
    <DnxVersion Condition="'$(OsEnvironment)'=='Unix'">1.0.0-beta5-12101</DnxVersion>
    <DnxPackageName Condition="'$(DnxPackageName)' == '' and '$(OsEnvironment)'!='Unix'">dnx-coreclr-win-x86.$(DnxVersion)</DnxPackageName>
    <DnxPackageName Condition="'$(DnxPackageName)' == '' and '$(OsEnvironment)'=='Unix'">dnx-mono.$(DnxVersion)</DnxPackageName>
    <RoslynVersion>1.0.0-rc3-20150510-01</RoslynVersion>
    <RoslynPackageName>Microsoft.Net.ToolsetCompilers</RoslynPackageName>
    <BuildToolsCoreCLRPackageName>Microsoft.DotNet.BuildTools.CoreCLR</BuildToolsCoreCLRPackageName>
    <BuildToolsCoreCLRLocation>$(ToolsDir)$(BuildToolsCoreCLRPackageName).$(BuildToolsCoreCLRVersion)</BuildToolsCoreCLRLocation>
  </PropertyGroup>
  
  <!-- Common properties -->
  <PropertyGroup>
    <!-- Set basic properties and normalize -->
    
    <BuildArch>$(__BuildArch)</BuildArch>
    <BuildArch Condition="'$(__BuildArch)'==''">x64</BuildArch>
    <BuildArch Condition="'$(__BuildArch)' == 'amd64'">x64</BuildArch>

    <BuildType Condition="'$(__BuildType)'==''">Debug</BuildType>
    <BuildType Condition="'$(__BuildType)' == 'debug'">Debug</BuildType>
    <BuildType Condition="'$(__BuildType)' == 'release'">Release</BuildType>
    
    <BuildOS>$(__BuildOS)</BuildOS>
    <BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>

    <ProjectDir>$(__ProjectDir)\</ProjectDir>
    <ProjectDir Condition="'$(__ProjectDir)'==''">$(MSBuildThisFileDirectory)</ProjectDir>

    <SourceDir>$(__SourceDir)\</SourceDir>
    <SourceDir Condition="'$(__SourceDir)'==''">$(ProjectDir)src\</SourceDir>

    <PackagesDir>$(__PackagesDir)\</PackagesDir>
    <PackagesDir Condition="'$(__PackagesDir)'==''">$(ProjectDir)packages\</PackagesDir>

    <RootBinDir>$(__RootBinDir)\</RootBinDir>
    <RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)bin\</RootBinDir>

    <BinDir>$(__BinDir)\</BinDir>
    <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)Product\$(BuildOS).$(BuildArch).$(BuildType)\</BinDir>

    <!-- We don't append back slash because this path is used by nuget.exe as output directory and it
         fails to write packages to it if the path contains the forward slash.
    -->
    <PackagesBinDir>$(__PackagesBinDir)</PackagesBinDir>
    <PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir).nuget</PackagesBinDir>
    
    <ToolsDir Condition="'$(ToolsDir)'==''">$(PackagesDir)Microsoft.DotNet.BuildTools.$(BuildToolsVersion)/lib/</ToolsDir>
    <!-- Directory for the CoreCLR tools (BCLRewriter, etc.) -->
    <CoreCLRToolsDir>$(PackagesDir)Microsoft.DotNet.BuildTools.CoreCLR.$(BuildToolsCoreCLRVersion)/</CoreCLRToolsDir>
    
    <TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir>
    <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)tests\$(BuildOS).$(BuildArch).$(BuildType)\</TestWorkingDir>
  </PropertyGroup>
  
  <!-- Common nuget properties -->
  <PropertyGroup>
    <NuGetToolPath Condition="'$(NuGetToolPath)'==''">$(PackagesDir)NuGet.exe</NuGetToolPath>
    <NuGetConfigFile Condition="'$(NuGetConfigFile)'==''">$(SourceDir)NuGet.Config</NuGetConfigFile>
    <NuGetConfigCommandLine>-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>

    <NugetRestoreCommand>"$(NuGetToolPath)"</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) install</NugetRestoreCommand>
    <!-- Trim off the last slash so that nuget doesn't get confused and say there are illegal characters on
         the path. -->
    <NugetRestoreCommand>$(NugetRestoreCommand) -OutputDirectory "$(PackagesDir.TrimEnd('\\'))"</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) $(NuGetConfigCommandLine)</NugetRestoreCommand>
    <NugetRestoreCommand>$(NugetRestoreCommand) -Verbosity detailed</NugetRestoreCommand>
    <NugetRestoreCommand Condition="'$(OsEnvironment)'=='Unix'">mono $(NuGetRestoreCommand)</NugetRestoreCommand>
  </PropertyGroup>
  
  <PropertyGroup>
    <DnxPackageDir Condition="'$(DnxPackageDir)'==''">$(PackagesDir)/$(DnxPackageName)/</DnxPackageDir>
    <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(OsEnvironment)'!='Unix'">$(DnxPackageDir)\bin\dnu.cmd</DnuToolPath>
    <DnuToolPath Condition="'$(DnuToolPath)'=='' and '$(OsEnvironment)'=='Unix'">$(DnxPackageDir)/bin/dnu</DnuToolPath>

    <DnuRestoreCommand>"$(DnuToolPath)"</DnuRestoreCommand>
    <DnuRestoreCommand>$(DnuRestoreCommand) restore</DnuRestoreCommand>
    <DnuRestoreCommand>$(DnuRestoreCommand) --packages "$(PackagesDir.TrimEnd('\\'))"</DnuRestoreCommand>
    <DnuRestoreCommand Condition="'$(LockDependencies)' == 'true'">$(DnuRestoreCommand) --lock</DnuRestoreCommand>
  </PropertyGroup>
  
  <!-- Common build tool properties -->
  <!-- <PropertyGroup>
    <BuildToolsCoreCLRPackageName>Microsoft.DotNet.BuildTools.CoreCLR</BuildToolsCoreCLRPackageName>
    <BuildToolsCoreCLRVersion>1.0.2-prerelease</BuildToolsCoreCLRVersion>
    <BuildToolsCoreCLRLocation>$(ToolsDir)$(BuildToolsCoreCLRPackageName).$(BuildToolsCoreCLRVersion)</BuildToolsCoreCLRLocation>
  </PropertyGroup> -->

  <!-- Setup Nuget properties -->
  <ItemGroup>
    <NuSpecSrcs Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.nuspec" />
    <NuSpecSrcs Condition="'$(Configuration)'=='Release'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Development.nuspec" />
    <NuSpecSrcs Condition="'$(Configuration)'=='Debug'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
  </ItemGroup>
  <ItemGroup>
    <!-- Backslash appended, see note in dir.props about the PackagesBinDir property -->
    <NuSpecs Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.nuspec" />
    <NuSpecs Condition="'$(Configuration)'=='Release'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Development.nuspec" />
    <NuSpecs Condition="'$(Configuration)'=='Debug'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
  </ItemGroup>

  <!-- Setup common target properties that we use to conditionally include sources -->
  <PropertyGroup>
    <TargetsFreeBSD Condition="'$(BuildOS)' == 'FreeBSD'">true</TargetsFreeBSD>
    <TargetsLinux Condition="'$(BuildOS)' == 'Linux'">true</TargetsLinux>
    <TargetsOSX Condition="'$(BuildOS)' == 'OSX'">true</TargetsOSX>
    <TargetsWindows Condition="'$(BuildOS)' == 'Windows_NT'">true</TargetsWindows>
    
    <TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsOSX)' == 'true'">true</TargetsUnix>
  </PropertyGroup>
</Project>