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 <PackagesDir>$(__PackagesDir)\</PackagesDir>
24 <PackagesDir Condition="'$(__PackagesDir)'==''">$(ProjectDir)\packages\</PackagesDir>
26 <RootBinDir>$(__RootBinDir)\</RootBinDir>
27 <RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)\bin\</RootBinDir>
29 <BinDir>$(__BinDir)\</BinDir>
30 <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)\Product\$(BuildOS).$(BuildArch).$(BuildType)\</BinDir>
32 <!-- We don't append back slash because this path is used by nuget.exe as output directory and it
33 fails to write packages to it if the path contains the forward slash.
35 <PackagesBinDir>$(__PackagesBinDir)</PackagesBinDir>
36 <PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir)\.nuget</PackagesBinDir>
38 <ToolsDir>$(__ToolsDir)\</ToolsDir>
39 <ToolsDir Condition="'$(__ToolsDir)'==''">$(RootBinDir)\tools\</ToolsDir>
41 <TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir>
42 <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)\tests\$(BuildOS).$(BuildArch).$(BuildType)\</TestWorkingDir>
45 <!-- Setup Nuget properties -->
47 <NuSpecSrcs Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.nuspec" />
48 <NuSpecSrcs Condition="'$(Configuration)'=='Release'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Development.nuspec" />
49 <NuSpecSrcs Condition="'$(Configuration)'=='Debug'" Include="$(SourceDir)\.nuget\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
52 <!-- Backslash appended, see note in dir.props about the PackagesBinDir property -->
53 <NuSpecs Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.nuspec" />
54 <NuSpecs Condition="'$(Configuration)'=='Release'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Development.nuspec" />
55 <NuSpecs Condition="'$(Configuration)'=='Debug'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
58 <!-- Setup common target properties that we use to conditionally include sources -->
60 <TargetsWindows Condition="'$(BuildOS)' == 'Windows_NT'">true</TargetsWindows>
61 <TargetsLinux Condition="'$(BuildOS)' == 'Linux'">true</TargetsLinux>
62 <TargetsOSX Condition="'$(BuildOS)' == 'OSX'">true</TargetsOSX>
64 <TargetsUnix Condition="'$(TargetsLinux)' == 'true' or '$(TargetsOSX)' == 'true'">true</TargetsUnix>
67 <!-- Common NuGet properties -->
69 <NuGetToolPath>$(ToolsDir)NuGet.exe</NuGetToolPath>
70 <NuGetConfigFile>$(SourceDir)NuGet.Config</NuGetConfigFile>
71 <NuGetConfigCommandLine
72 Condition="Exists('$(NuGetConfigFile)')">-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>
75 <!-- Common build tool properties -->
78 <BuildToolsCoreCLRPackageName>Microsoft.DotNet.BuildTools.CoreCLR</BuildToolsCoreCLRPackageName>
79 <BuildToolsCoreCLRVersion>1.0.1-prerelease</BuildToolsCoreCLRVersion>
80 <BuildToolsCoreCLRInstallSempahore>$(ToolsDir)BuildTools.$(BuildToolsCoreCLRVersion).installed.semaphore</BuildToolsCoreCLRInstallSempahore>
82 <BuildToolsPackageName>Microsoft.DotNet.BuildTools</BuildToolsPackageName>
83 <BuildToolsVersion>1.0.25-prerelease-00009</BuildToolsVersion>
85 <BuildToolsCoreCLRTargetInputs>$(MSBuildThisFileFullPath);$(MSBuildThisFileDirectory)build.proj</BuildToolsCoreCLRTargetInputs>
86 <BuildToolsCoreCLRTargetOutputs>$(BuildToolsCoreCLRInstallSempahore)</BuildToolsCoreCLRTargetOutputs>
88 <BuildToolsCoreCLRLocation>$(ToolsDir)\$(BuildToolsCoreCLRPackageName).$(BuildToolsCoreCLRVersion)</BuildToolsCoreCLRLocation>
89 <BuildToolsLocation>$(ToolsDir)\$(BuildToolsPackageName).$(BuildToolsVersion)</BuildToolsLocation>