﻿<!--
***********************************************************************************************
Microsoft.Cpp.WholeProgramOptimization.props

WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
          created a backup copy.  Incorrect changes to this file will make it
          impossible to load or build your projects from the command-line or the IDE.

Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PropertySheetDisplayName>Whole Program Optimization</_PropertySheetDisplayName>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <WholeProgramOptimization>true</WholeProgramOptimization>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup>
    <Link>
      <LinkTimeCodeGeneration Condition="'$(WholeProgramOptimization)' == 'true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
      <LinkTimeCodeGeneration Condition="'$(WholeProgramOptimization)' == 'true' and ('$(PlatformTarget)' == 'x86' or '$(PlatformTarget)' == 'x64')">UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
      <LinkTimeCodeGeneration Condition="'$(WholeProgramOptimization)' == 'FASTLTCG'">UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
      <EnableCOMDATFolding    Condition="'$(WholeProgramOptimization)' == 'true' and '$(UseDynamicDebugging)' != 'true'">true</EnableCOMDATFolding>
      <OptimizeReferences     Condition="'$(WholeProgramOptimization)' == 'true'">true</OptimizeReferences>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup>
    <Lib>
      <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
    </Lib>
  </ItemDefinitionGroup>
</Project>
