1 <Project Sdk="Microsoft.Build.Traversal">
3 <!-- List the projects that need to be restored only -->
4 <ItemGroup Condition="'$(IncludeRestoreOnlyProjects)' == 'true'">
5 <ProjectReference Condition="'$(BuildType)'=='Release'" Include="$(SourceDir).nuget/optdata/optdata.csproj" />
8 <!-- List the projects that need to be built -->
10 <ProjectReference Condition="'$(BuildManagedTools)' == 'true'" Include="tools/runincontext/runincontext.csproj" />
11 <ProjectReference Condition="'$(BuildManagedTools)' == 'true'" Include="tools/r2rdump/R2RDump.csproj" />
12 <ProjectReference Include="System.Private.CoreLib\System.Private.CoreLib.csproj" />
15 <!-- [ARCADE_REMOVE] The below targets should be removed entirely when all projects become SDK
16 projects. These should not be in this project file, but in a separate targets file for post-build.
18 <Import Project="../dir.props" />
20 <!-- Copy the UCRT files from the windows kit directory to the local directory.
21 The api-*xstate.dll binary needs to be signed. -->
22 <Target Name="CopyUcrtFiles" AfterTargets="Build">
24 <UcrtFilesToCopy Include="$(UniversalCRTSDKDir)Redist\ucrt\DLLs\$(BuildArch)\*.dll" />
27 <Copy Condition="'$(BuildType)'=='Release' AND '$(BuildArch)' != 'arm64'"
28 SourceFiles="@(UcrtFilesToCopy)"
29 DestinationFolder="$(BinDir)Redist\ucrt\DLLs\$(BuildArch)" />
33 <RunEnforcePGO Condition="$(__EnforcePgo) == '1'">true</RunEnforcePGO>
34 <RunEnforcePGO Condition="$(BuildArch) == 'arm' OR $(BuildArch) == 'arm64'">false</RunEnforcePGO>
37 <Target Name="EnforcePGO" Condition="$(RunEnforcePGO) == 'true'" AfterTargets="Build">
39 <PGOEnforcedFiles Include="$(BinDir)coreclr.dll" />
40 <PGOEnforcedFiles Include="$(BinDir)clrjit.dll" />
43 <Message Text="Checking if the following DLLs are properly compiled with PGO" Importance="High" />
44 <Exec Command=""$(PYTHON)" $(MSBuildThisFileDirectory)scripts\pgocheck.py @(PGOEnforcedFiles)" />