﻿<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(VCTargetsPath)\NaCl\ImportBefore\*.targets" Condition="Exists('$(VCTargetsPath)\NaCl\ImportBefore')" />
  <Import Project="$(VCTargetsPath)\Microsoft.CppCommon.targets" />

  <!-- VS2012 (v110) required Platform.targets to be imported -->
  <Import Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.Platform.targets')" Project="$(VCTargetsPath)\Microsoft.Cpp.Platform.targets"/>

  <UsingTask TaskName="NaClCompile" AssemblyFile="$(VCTargetsPath)\NaCl\NaCl.Build.CPPTasks.dll" />
  <UsingTask TaskName="NaClLink" AssemblyFile="$(VCTargetsPath)\NaCl\NaCl.Build.CPPTasks.dll" />
  <UsingTask TaskName="NaClLib" AssemblyFile="$(VCTargetsPath)\NaCl\NaCl.Build.CPPTasks.dll" />
  <UsingTask TaskName="VCMessage" AssemblyName="Microsoft.Build.CppTasks.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />


  <PropertyGroup>
    <!-- Enable incremental build by enable file tracking in tasks-->
    <TrackFileAccess Condition="'$(TrackFileAccess)' == ''">true</TrackFileAccess>
  </PropertyGroup>

  <!-- *******************************************************************************************
        CLCompile
       ******************************************************************************************* -->

  <Target Name="ClCompile"
          Condition="'@(ClCompile)' != ''"
          DependsOnTargets="SelectClCompile">

    <NaClCompile Condition="'%(ClCompile.ExcludedFromBuild)'!='true'"
                 BuildingInIDE                      ="$(BuildingInsideVisualStudio)"
                 Sources                            ="@(ClCompile)"
                 OutputCommandLine                  ="%(ClCompile.OutputCommandLine)"
                 ProcessorNumber                    ="%(ClCompile.ProcessorNumber)"
                 MultiProcessorCompilation          ="%(ClCompile.MultiProcessorCompilation)"
                 MinimalRebuildFromTracking         ="%(ClCompile.MinimalRebuildFromTracking)"
                 NaCLCompilerPath                   ="$(VSNaClSDKRoot)toolchain\win_x86_pnacl\newlib\bin\pnacl-clang.bat"
                 PropertiesFile                     ="$(VCTargetsPath)\NaCl\Props\nacl_compile.xml"
                 TLogReadFiles                      ="@(CLTLogReadFiles)"
                 TLogWriteFiles                     ="@(CLTLogWriteFiles)"
                 Platform                           ="$(Platform)"
                 TrackFileAccess                    ="$(TrackFileAccess)"
                 TrackerLogDirectory                ="%(ClCompile.TrackerLogDirectory)"
                 ConfigurationType                  ="$(ConfigurationType)">
    </NaClCompile>
  </Target>

  <!-- *******************************************************************************************
        Link
       ******************************************************************************************* -->

  <Target Name="Link"
          Condition="'@(Link)' != ''">

    <PropertyGroup>
      <Link_MinimalRebuildFromTracking Condition="'@(Link->AnyHaveMetadataValue('MinimalRebuildFromTracking', 'false'))' == 'true'">false</Link_MinimalRebuildFromTracking>
      <Link_MinimalRebuildFromTracking Condition="'$(BuildType)' != 'Build' or '$(ForceRebuild)' == 'true'" >false</Link_MinimalRebuildFromTracking>
      <Link_MinimalRebuildFromTracking Condition="'$(Link_MinimalRebuildFromTracking)' == ''">true</Link_MinimalRebuildFromTracking>
    </PropertyGroup>

    <NaClLink BuildingInIDE                  ="$(BuildingInsideVisualStudio)"
              Sources                        ="@(Link)"
              OutputCommandLine              ="%(Link.OutputCommandLine)"
              NaClLinkerPath                 ="$(VSNaClSDKRoot)toolchain\win_x86_pnacl\newlib\bin\pnacl-clang++.bat"
              CreateNMFPath                  ="$(VSNaClSDKRoot)tools\create_nmf.py"
              MinimalRebuildFromTracking     ="$(Link_MinimalRebuildFromTracking)"
              OutputFile                     ="%(Link.OutputFile)"
              PropertiesFile                 ="$(VCTargetsPath)\NaCl\Props\pnacl_link.xml"
              TLogReadFiles                  ="@(LinkTLogReadFiles)"
              TLogWriteFiles                 ="@(LinkTLogWriteFiles)"
              ToolchainName                  ="$(ToolchainName)"
              CreateNMF                      ="%(Link.CreateNMF)"
              ProjectName                    ="$(ProjectName)"
              Platform                       ="$(Platform)"
              TranslateX86                   ="%(Link.TranslateX86)"
              TranslateX64                   ="%(Link.TranslateX64)"
              TranslateARM                   ="%(Link.TranslateARM)"
              TrackFileAccess                ="$(TrackFileAccess)"
              TrackerLogDirectory            ="%(Link.TrackerLogDirectory)"
              ConfigurationType              ="$(ConfigurationType)">
      <Output TaskParameter="SkippedExecution" PropertyName="LinkSkippedExecution" />
    </NaClLink>

    <Message Condition="'$(LinkSkippedExecution)' == 'false'" Text="$(MSBuildProjectFile) -&gt; $(TargetPath)" Importance="High" />

  </Target>


  <!-- *******************************************************************************************
        Lib
       ******************************************************************************************* -->

  <!-- Lib script based on: MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets -->

  <Target Name="Lib"
          Condition="'@(Lib)' != ''">

    <ItemGroup>
      <Lib>
        <MinimalRebuildFromTracking Condition="'%(Lib.MinimalRebuildFromTracking)' == '' and '$(BuildType)' == 'Build' and '$(ForceRebuild)' != 'true'">true</MinimalRebuildFromTracking>
      </Lib>
    </ItemGroup>

    <NaClLib BuildingInIDE                  ="$(BuildingInsideVisualStudio)"
             Sources                        ="@(Lib)"
             OutputCommandLine              ="%(Lib.OutputCommandLine)"
             LibrarianToolPath              ="$(VSNaClSDKRoot)toolchain\win_x86_pnacl\newlib\bin\pnacl-ar.bat"
             MinimalRebuildFromTracking     ="%(Lib.MinimalRebuildFromTracking)"
             OutputFile                     ="%(Lib.OutputFile)"
             PropertiesFile                 ="$(VCTargetsPath)\NaCl\Props\nacl_lib.xml"
             TrackerLogDirectory            ="%(Lib.TrackerLogDirectory)"
             TLogReadFiles                  ="@(LIBTLogReadFiles)"
             TLogWriteFiles                 ="@(LIBTLogWriteFiles)"
             Platform                       ="$(Platform)"
             TrackFileAccess                ="$(TrackFileAccess)">
        <Output TaskParameter="SkippedExecution" PropertyName="LibSkippedExecution" />
    </NaClLib>

    <Message Condition="'$(LibSkippedExecution)' == 'false'" Text="$(MSBuildProjectFile) -&gt; $(TargetPath)" Importance="High" />

  </Target>

  <!-- Imports -->
  <Import Project="$(VCTargetsPath)\NaCl\NaCl.CppBuild.targets" />
  <Import Project="$(VCTargetsPath)\NaCl\PlatformToolsets\win_x86_newlib\Microsoft.Cpp.NaCl.win_x86_newlib.targets" Condition="'pnacl' == 'newlib' AND (exists('$(VCTargetsPath)\NaCl\PlatformToolsets\win_x86_newlib\Microsoft.Cpp.NaCl.win_x86_newlib.targets'))" />
  <Import Project="$(VCTargetsPath)\NaCl\PlatformToolsets\win_x86_glibc\Microsoft.Cpp.NaCl.win_x86_glibc.targets" Condition="'$(ToolchainName)' == 'glibc' AND (exists('$(VCTargetsPath)\NaCl\PlatformToolsets\win_x86_glibc\Microsoft.Cpp.NaCl.win_x86_glibc.targets'))" />

</Project>
