-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathDirectory.Build.props
38 lines (32 loc) · 2.72 KB
/
Directory.Build.props
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
<Project>
<!-- See: https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2019#directorybuildprops-and-directorybuildtargets -->
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<IsOfficialBuild Condition="'$(IsOfficialBuild)' == ''">false</IsOfficialBuild>
<!-- Because the default value in MSBuild doesn't get set until after Directory.Build.props, and we need it, we set the default here. -->
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
</PropertyGroup>
<PropertyGroup Label="Build layout">
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<RepoBuildExtensions>$(RepoRoot)build\extensions\</RepoBuildExtensions>
<SrcRootDirectory>$(RepoRoot)src\</SrcRootDirectory>
<!-- WARNING: When modifying obj folder paths, only set the BaseIntermediateOutputPath.
DO NOT set the IntermediateOutputPath; You will break other dotnet/msbuild tooling conventions in subtle, hard to diagnose ways, resulting in HACKS in build pipelines.
DO NOT include the $(Configuration), $(PlatformName), etc in the BaseIntermediateOutputPath, as these are already added by common targets implementation.
-->
<!-- While the semantics are different, for backwards compatibility, this is different than our custom $(DropRootDirectory) defined in Common.props. namely, it includes the final backslash, per convention. -->
<DropRootDirectory Condition="'$(DropRootDirectory)' == ''">$(RepoRoot)</DropRootDirectory>
<!-- Latest MSBuild tools uses the $(BaseOutputPath) and $(OutputPath) properties. Legacy properties are set based on them in Microsoft.Common.targets.
By default, we configure the BaseOutputPath to the drop folder. Other adaptations to the final OutputPath can be done after this occurs.
-->
<BaseOutputPath>$(DropRootDirectory)bin\$(Configuration)\$(MSBuildProjectName)\</BaseOutputPath>
<!-- <BaseOutputPath>$(DropRootDirectory)bin\$(Configuration)\$(MSBuildProjectName)\</BaseOutputPath> -->
<!--
Since we won't know the target framework folder (if applicable) when this file gets evaluated, we can't set
the OutputPath correctly here. In general, this should be done in a Directory.Build.targets if needed.
But it's preferrable to only change the BaseOutputPath and let the OutputPath be computed by standard MSBuild props/targets.
<OutputPath>$(BaseOutputPath)\$(TargetFramework)\</OutputPath> -->
<!-- Force empty, so SDK will compute relative to the BaseOutputPath. It will also allow binlog to identify any locations where this gets changed. (the first set of a property isn't reported) -->
<OutputPath></OutputPath>
</PropertyGroup>
</Project>