[Tizen] Implement detecting of sanitized libraries
[platform/upstream/coreclr.git] / src / build.proj
1 <Project Sdk="Microsoft.Build.Traversal">
2
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" />
6  </ItemGroup>
7
8   <!-- List the projects that need to be built -->
9   <ItemGroup>
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" />
13   </ItemGroup>
14
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.
17   -->
18   <Import Project="../dir.props" />
19
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">
23     <ItemGroup>
24       <UcrtFilesToCopy Include="$(UniversalCRTSDKDir)Redist\ucrt\DLLs\$(BuildArch)\*.dll" />
25     </ItemGroup>
26
27     <Copy Condition="'$(BuildType)'=='Release' AND '$(BuildArch)' != 'arm64'"
28         SourceFiles="@(UcrtFilesToCopy)"
29         DestinationFolder="$(BinDir)Redist\ucrt\DLLs\$(BuildArch)" />
30   </Target>
31
32   <PropertyGroup>
33     <RunEnforcePGO Condition="$(__EnforcePgo) == '1'">true</RunEnforcePGO>
34     <RunEnforcePGO Condition="$(BuildArch) == 'arm' OR $(BuildArch) == 'arm64'">false</RunEnforcePGO>
35   </PropertyGroup>
36
37   <Target Name="EnforcePGO" Condition="$(RunEnforcePGO) == 'true'" AfterTargets="Build">
38     <ItemGroup>
39       <PGOEnforcedFiles Include="$(BinDir)coreclr.dll" />
40       <PGOEnforcedFiles Include="$(BinDir)clrjit.dll" />
41     </ItemGroup>
42
43     <Message Text="Checking if the following DLLs are properly compiled with PGO" Importance="High" />
44     <Exec Command="&quot;$(PYTHON)&quot; $(MSBuildThisFileDirectory)scripts\pgocheck.py @(PGOEnforcedFiles)" />
45   </Target>
46 </Project>