1 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2 <!-- Common properties -->
4 <!-- Set basic properties and normalize -->
6 <BuildArch>$(__BuildArch)</BuildArch>
7 <BuildArch Condition="'$(__BuildArch)'==''">x64</BuildArch>
8 <BuildArch Condition="'$(__BuildArch)' == 'amd64'">x64</BuildArch>
10 <BuildType Condition="'$(__BuildType)'==''">Debug</BuildType>
11 <BuildType Condition="'$(__BuildType)' == 'debug'">Debug</BuildType>
12 <BuildType Condition="'$(__BuildType)' == 'release'">Release</BuildType>
14 <BuildOS>$(__BuildOS)</BuildOS>
15 <BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>
17 <ProjectDir>$(__ProjectDir)\</ProjectDir>
18 <ProjectDir Condition="'$(__ProjectDir)'==''">$(MSBuildThisFileDirectory)\</ProjectDir>
20 <SourceDir>$(__SourceDir)\</SourceDir>
21 <SourceDir Condition="'$(__SourceDir)'==''">$(ProjectDir)\src\</SourceDir>
23 <PackagesGlobalConfig>$(SourceDir).nuget\packages.config</PackagesGlobalConfig>
24 <PackagesDir>$(__PackagesDir)\</PackagesDir>
25 <PackagesDir Condition="'$(__PackagesDir)'==''">$(ProjectDir)\packages\</PackagesDir>
27 <RootBinDir>$(__RootBinDir)\</RootBinDir>
28 <RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)\bin\</RootBinDir>
30 <BinDir>$(__BinDir)\</BinDir>
31 <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)\Product\$(BuildOS).$(BuildArch).$(BuildType)\</BinDir>
33 <!-- We don't append back slash because this path is used by nuget.exe as output directory and it
34 fails to write packages to it if the path contains the forward slash.
36 <PackagesBinDir>$(__PackagesBinDir)</PackagesBinDir>
37 <PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir)\.nuget</PackagesBinDir>
39 <ToolsDir>$(__ToolsDir)\</ToolsDir>
40 <ToolsDir Condition="'$(__ToolsDir)'==''">$(RootBinDir)\tools\</ToolsDir>
42 <TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir>
43 <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)\tests\$(BuildOS).$(BuildArch).$(BuildType)\</TestWorkingDir>
46 <!-- Setup Nuget properties -->
48 <NuSpecSrcs Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.nuspec" />
49 <NuSpecSrcs Condition="'$(Configuration)'=='Release'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Development.nuspec" />
50 <NuSpecSrcs Condition="'$(Configuration)'=='Debug'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
53 <!-- Backslash appended, see note in dir.props about the PackagesBinDir property -->
54 <NuSpecs Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.nuspec" />
55 <NuSpecs Condition="'$(Configuration)'=='Release'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Development.nuspec" />
56 <NuSpecs Condition="'$(Configuration)'=='Debug'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
59 <!-- Setup common target properties that we use to conditionally include sources -->
61 <TargetsWindows Condition="'$(BuildOS)' == 'Windows_NT'">true</TargetsWindows>
62 <TargetsLinux Condition="'$(BuildOS)' == 'Linux'">true</TargetsLinux>
63 <TargetsOSX Condition="'$(BuildOS)' == 'OSX'">true</TargetsOSX>
65 <TargetsUnix Condition="'$(TargetsLinux)' == 'true' or '$(TargetsOSX)' == 'true'">true</TargetsUnix>
68 <!-- Common NuGet properties -->
70 <NuGetToolPath>$(ToolsDir)NuGet.exe</NuGetToolPath>
71 <NuGetConfigFile>$(SourceDir)NuGet.Config</NuGetConfigFile>
72 <NuGetConfigCommandLine
73 Condition="Exists('$(NuGetConfigFile)')">-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>
76 <!-- Common build tool properties -->
79 <BuildToolsCoreCLRPackageName>Microsoft.DotNet.BuildTools.CoreCLR</BuildToolsCoreCLRPackageName>
80 <BuildToolsCoreCLRVersion>1.0.2-prerelease</BuildToolsCoreCLRVersion>
81 <BuildToolsCoreCLRInstallSempahore>$(ToolsDir)BuildTools.$(BuildToolsCoreCLRVersion).installed.semaphore</BuildToolsCoreCLRInstallSempahore>
83 <BuildToolsPackageName>Microsoft.DotNet.BuildTools</BuildToolsPackageName>
84 <BuildToolsVersion>1.0.25-prerelease-00009</BuildToolsVersion>
86 <BuildToolsCoreCLRTargetInputs>$(MSBuildThisFileFullPath);$(MSBuildThisFileDirectory)build.proj</BuildToolsCoreCLRTargetInputs>
87 <BuildToolsCoreCLRTargetOutputs>$(BuildToolsCoreCLRInstallSempahore)</BuildToolsCoreCLRTargetOutputs>
89 <BuildToolsCoreCLRLocation>$(ToolsDir)\$(BuildToolsCoreCLRPackageName).$(BuildToolsCoreCLRVersion)</BuildToolsCoreCLRLocation>
90 <BuildToolsLocation>$(ToolsDir)\$(BuildToolsPackageName).$(BuildToolsVersion)</BuildToolsLocation>