-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
128 lines (101 loc) · 5.97 KB
/
Directory.Build.props
File metadata and controls
128 lines (101 loc) · 5.97 KB
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<Project>
<PropertyGroup>
<IsDXSLibrary>true</IsDXSLibrary>
</PropertyGroup>
<!-- Include the shared props file in builds folder :: -->
<Import Project=".\build\msbuild\DXSharpShared.Build.props"
Condition=" '$(DXSSharedPropsImported)' != 'true' " />
<ItemGroup Label="CommonSDKItems" >
<YamlPipelines Include="$(RepoRootPath)*.yml" />
<CsWin32Configs Include="$(MSBuildProjectDirectory)*NativeMethods*.*" />
<SdkConfigs Include="$(RepoRootPath)Resources\*sdkconf*.json" />
</ItemGroup>
<PropertyGroup Label="CommonSDKProps">
<BuildInParallel>false</BuildInParallel>
<IsMultiTargeting>true</IsMultiTargeting>
<NugetCacheDir>$(NuGetPackageRoot)</NugetCacheDir>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<!-- Fallbacks for critical properties: -->
<TargetCPUs Condition=" '$(TargetCPUs)'=='' ">AnyCPU;x64;x86</TargetCPUs>
<RepoRootPath Condition=" '$(RepoRootPath)'=='' ">$(MSBuildThisFileDirectory)</RepoRootPath>
<DotNetTargets Condition=" '$(DotNetTargets)'=='' ">net7.0-windows10.0.22621.0;net8.0-windows10.0.22621.0</DotNetTargets>
<!-- Make sure there's a configuration name and base output path: -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<BaseOutputPath Condition=" '$(BaseOutputPath)' == '' ">$(RepoRootPath)bin\$(MSBuildProjectName)\</BaseOutputPath>
<PackageOutputPath Condition=" '$(PackageOutputPath)' == '' ">$(RepoRootPath)bin\Packages\$(Configuration)\</PackageOutputPath>
<BaseIntermediateOutputPath>$(RepoRootPath)obj\$([MSBuild]::MakeRelative($(RepoRootPath), $(MSBuildProjectDirectory)))\</BaseIntermediateOutputPath>
<!-- Assembly Signing/Keys & Advanced Settings: -->
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(RepoRootPath)file\keys\strongname.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<!-- Compilation & Assembly Generation Properties :: -->
<PropertyGroup Label="CompilerConfig">
<OutputType Condition=" '$(OutputType)' == '' ">Library</OutputType>
<!-- Make sure valid platforms and target frameworks are set:
(Projects override this with their own values if needed)
-->
<Platforms Condition=" '$(Platforms)' == '' ">$(TargetCPUs)</Platforms>
<TargetFrameworks Condition=" '$(TargetFrameworks)' == '' ">$(DotNetTargets);</TargetFrameworks>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
<Deterministic>true</Deterministic>
<ImplicitUsings>true</ImplicitUsings>
<AnalysisLevel>preview</AnalysisLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<!-- Properties for DevOps & CI Pipelines :: -->
<PropertyGroup Label="DevOpsConfig">
<CI>true</CI>
<AZ_BUILD>true</AZ_BUILD>
<AzureDevOps>true</AzureDevOps>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/atcarter714/DXSharp</RepositoryUrl>
<PowershellScriptsDir>$(RepoRootPath)build\pwsh</PowershellScriptsDir>
<!-- This entire repo has just one version.json file, so compute the
version once and share with all projects in a large build ... -->
<GitVersionBaseDirectory>$(MSBuildThisFileDirectory)</GitVersionBaseDirectory>
<!-- Local builds should embed PDBs so we never lose them when a subsequent build occurs. -->
<DebugType Condition=" '$(CI)' != 'true' and '$(TF_BUILD)' != 'true' ">embedded</DebugType>
<DebugType Condition=" '$(AzureDevOps)' != 'true' or '$(AZ_BUILD)' != 'true' ">embedded</DebugType>
</PropertyGroup>
<!-- Properties for Package Generation :: -->
<PropertyGroup Label="NuGetPackProperties">
<FileVersion>1.0.1</FileVersion>
<AssemblyVersion>0.3.3</AssemblyVersion>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>DXSharp_Logo_00_512.png</PackageIcon>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<Company>Arkaen Solutions</Company>
<Authors>Aaron T. Carter, $(Company), Contributors</Authors>
<Copyright>Copyright © Aaron T. Carter, Arkaen Solutions. All rights reserved.</Copyright>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<PackageProjectUrl>https://github.com/atcarter714/DXSharp</PackageProjectUrl>
<!--<SymbolPackageFormat>snupkg</SymbolPackageFormat>-->
<IncludeSymbols Condition=" '$(DebugType)' != 'embedded' ">true</IncludeSymbols>
<PackageTags>directx; dxsharp; interop; wrapper; 2d; 3d; graphics; d3d; d3d12; dxgi; win32; com; gamedev; arkaen; dxs;</PackageTags>
<PackageReleaseNotes>Early preview: NOT intended for production use!</PackageReleaseNotes>
</PropertyGroup>
<!-- Roslyn Generator Setup Properties :: -->
<PropertyGroup Label="CodeGenSettings">
<UsingCsWin32 Condition=" '$(UsingCsWin32)' == '' ">true</UsingCsWin32>
<CsWin32Version Condition=" '$(UsingCsWin32)' == 'true' ">[0.3.49-beta,)</CsWin32Version>
<UsingWinMD Condition=" '$(UsingWinMD)' == '' ">true</UsingWinMD>
<WinMDVersion Condition=" '$(UsingWinMD)' == 'true' ">[56.0.13-preview,)</WinMDVersion>
</PropertyGroup>
<!-- Compiler Symbols & Configurations :: -->
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>TRACE, DEBUG_COM, DEV_BUILD, CACHE_SIZE_NORMAL</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>TRACE, DEV_BUILD, CACHE_SIZE_LARGE, STRIP_CHECKS, DXS_FAST</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(NativePlatformName)' != '' ">
<DefineConstants Condition=" '$(NativePlatformName)' == 'x86' and '$(No32Bit)' != 'true' ">_WIN_32, X86</DefineConstants>
<DefineConstants Condition=" '$(NativePlatformName)' == 'arm' and '$(No32Bit)' != 'true' ">_WIN_32, ARM</DefineConstants>
<DefineConstants Condition=" '$(NativePlatformName)' == 'x64' ">_WIN_64, X64</DefineConstants>
<DefineConstants Condition=" '$(NativePlatformName)' == 'arm64' ">_WIN_64, ARM64</DefineConstants>
</PropertyGroup>
</Project>