Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Directory.Build.props - github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 454539c4b23389719b14772ba62abf22d68ca791 (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
<Project TreatAsLocalProperty="RepoRoot">

  <PropertyGroup>
    <!--
      For non-SDK projects that import this file and then import Microsoft.Common.props,
      tell Microsoft.Common.props not to import Directory.Build.props again
    -->
    <ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
  </PropertyGroup>

  <!--
    Import the arcade sdk with these requirements.
    After:
      Configuration setup
    Before:
      DebugType needs to be not be set to embedded at least for facades
      OutputPath setup
  -->
  <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipImportArcadeSdkFromRoot)' != 'true'" />

  <!-- Set these properties early enough for libraries as they import the Arcade SDK not early enough.  -->
  <PropertyGroup Condition="'$(SkipImportArcadeSdkFromRoot)' == 'true'">
    <RepoRoot>$([MSBuild]::EnsureTrailingSlash('$(MSBuildThisFileDirectory)'))</RepoRoot>
    <RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir>
    <ArtifactsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</ArtifactsDir>
    <ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir>
    <ArtifactsObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))</ArtifactsObjDir>
  </PropertyGroup>

  <!-- Configuration properties which are needed in both the (isolated) restore and build phases. -->
  <Import Project="$(RepositoryEngineeringDir)Configurations.props" />

  <!--
    Get '<subset>Project' items. Using the items lets projects handle
    $(Subset) automatically when creating project-to-project dependencies.
  -->
  <Import Project="$(RepositoryEngineeringDir)Subsets.props" />

  <PropertyGroup>
    <!-- Installer specific, required during restore. -->
    <InstallerTasksOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'installer.tasks'))</InstallerTasksOutputPath>
    <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'netstandard2.0', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>
    <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'net461', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>

    <DocsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'docs'))</DocsDir>
    <ManPagesDir>$([MSBuild]::NormalizeDirectory('$(DocsDir)', 'manpages'))</ManPagesDir>
    <CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetsMobile)' == 'true'">
    <AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AppleAppBuilderDir>
    <AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppCurrent)'))</AndroidAppBuilderDir>
    <WasmAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppCurrent)', 'publish'))</WasmAppBuilderDir>
    <CreateWasmBundleDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'CreateWasmBundle', 'Debug', '$(NetCoreAppCurrent)', 'publish'))</CreateWasmBundleDir>
    <MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppCurrent)'))</MonoAOTCompilerDir>
  
    <AppleAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll'))</AppleAppBuilderTasksAssemblyPath>
    <AndroidAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AndroidAppBuilderDir)', 'AndroidAppBuilder.dll'))</AndroidAppBuilderTasksAssemblyPath>
    <WasmAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(WasmAppBuilderDir)', 'WasmAppBuilder.dll'))</WasmAppBuilderTasksAssemblyPath>
    <CreateCreateWasmBundlesAssemblyPath>$([MSBuild]::NormalizePath('$(CreateWasmBundleDir)', 'CreateWasmBundle.dll'))</CreateCreateWasmBundlesAssemblyPath>
    <MonoAOTCompilerTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll'))</MonoAOTCompilerTasksAssemblyPath>
  </PropertyGroup>

  <!-- Packaging properties -->
  <PropertyGroup>
    <!--
      This name is used to create a GIT repository URL https://github.com/dotnet/$(GitHubRepositoryName) used
      to find source code for debugging. It is also used to name the build output manifest for orchestrated builds.
    -->
    <GitHubRepositoryName>runtime</GitHubRepositoryName>
    <RepositoryUrl>git://github.com/dotnet/runtime</RepositoryUrl>
    <ProjectUrl>https://github.com/dotnet/runtime</ProjectUrl>
    <LicenseUrl>https://github.com/dotnet/runtime/blob/master/LICENSE.TXT</LicenseUrl>
    <RuntimeIdGraphDefinitionFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'pkg', 'Microsoft.NETCore.Platforms', 'runtime.json'))</RuntimeIdGraphDefinitionFile>
    <LicenseFile>$(RepoRoot)LICENSE.TXT</LicenseFile>

    <!-- Indicates this is not an officially supported release. Release branches should set this to false. -->
    <!-- Keep it in sync with PRERELEASE in eng/native/configureplatform.cmake -->
    <IsPrerelease>false</IsPrerelease>

    <IsExperimentalAssembly>$(MSBuildProjectName.Contains('Experimental'))</IsExperimentalAssembly>

    <!-- Experimental packages should not be stable -->
    <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and $(IsExperimentalAssembly)">true</SuppressFinalPackageVersion>
    <IsShippingAssembly Condition="$(IsExperimentalAssembly)">false</IsShippingAssembly>

    <!-- We don't want Private packages to be shipped to NuGet.org -->
    <IsShippingPackage Condition="($(MSBuildProjectName.Contains('Private')) or $(IsExperimentalAssembly)) and '$(MSBuildProjectExtension)' == '.pkgproj'">false</IsShippingPackage>

    <!-- By default the SDK produces ref assembly for 5.0 or later -->
    <ProduceReferenceAssembly>false</ProduceReferenceAssembly>
  </PropertyGroup>

  <!-- Language configuration -->
  <PropertyGroup>
    <!-- default to allowing all language features -->
    <LangVersion>preview</LangVersion>
    <LangVersion Condition="'$(MSBuildProjectExtension)' == '.vbproj'">latest</LangVersion>
    <Deterministic>true</Deterministic>
  </PropertyGroup>

  <PropertyGroup>
    <!-- Default to portable build if not explicitly set -->
    <PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild>
    <!-- Used for launchSettings.json and runtime config files. -->
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <!-- Determine what architecture we are building on. -->
    <BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
  </PropertyGroup>

  <Import Project="$(RepositoryEngineeringDir)Analyzers.props" />

</Project>