diff options
author | Matt Mitchell <mmitche@microsoft.com> | 2015-02-23 16:34:11 -0800 |
---|---|---|
committer | Matt Mitchell <mmitche@microsoft.com> | 2015-02-23 16:34:52 -0800 |
commit | e0e408cf8f0a9421b1fba4e077629209a3d2d744 (patch) | |
tree | 0e75f9e97278a04c1d5455d965b3ae002f38347d /dir.props | |
parent | b2cdaa918c1b13fc08f04050907734e3822e3a4a (diff) | |
download | coreclr-e0e408cf8f0a9421b1fba4e077629209a3d2d744.tar.gz coreclr-e0e408cf8f0a9421b1fba4e077629209a3d2d744.tar.bz2 coreclr-e0e408cf8f0a9421b1fba4e077629209a3d2d744.zip |
Place binaries and intermediates in folders that include OS
Rework the output paths so that the OS may appear in them. This then follows the same form as corefx. This solves a number of problems:
1) When building unix mscorlib after the regular build, we would use the wrong intermediates for incremental.
2) When testing windows after building unix mscorlib we'd use the wrong outputs and fail.
This change removes our cmake directory and moves cmake generated files into intermediates (under OS/arch paths)
The reason is that the intermediates go under here when actually doing the build, and on unix based systems, we need to generate the cmake files for different builds into different directories for the purpose of preserving incremental builds.
Change clean behavior
Clean should simply delete the root binary. We also should not make assumptions about
whether necessary directories are available when we begin to build and should create them every time if
necessary.
Create directories as needed.
Diffstat (limited to 'dir.props')
-rw-r--r-- | dir.props | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -1,13 +1,18 @@ <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <!-- Common properties --> <PropertyGroup> - <BuildArch Condition="'$(__BuildArch)'==''">amd64</BuildArch> - <BuildArch Condition="'$(__BuildArch)' == 'x64'">amd64</BuildArch> + <!-- 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> @@ -22,9 +27,9 @@ <RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)\binaries\</RootBinDir> <BinDir>$(__BinDir)\</BinDir> - <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)\Product\$(BuildArch)\$(BuildType)\</BinDir> + <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)\Product\$(BuildOS).$(BuildArch).$(BuildType)\</BinDir> - <!-- We dont append back slash because this path is used by nuget.exe as output directory and it + <!-- 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> @@ -34,7 +39,7 @@ <ToolsDir Condition="'$(__ToolsDir)'==''">$(RootBinDir)\tools\</ToolsDir> <TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir> - <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)\tests\$(BuildArch)\$(BuildType)\</TestWorkingDir> + <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)\tests\$(BuildOS).$(BuildArch).$(BuildType)\</TestWorkingDir> </PropertyGroup> <!-- Setup Nuget properties --> |