<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>  

  <PropertyGroup Label="Configuration">
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>

  <!-- Ensures that if this file changes it forces a rebuild -->
  <PropertyGroup>
    <MSBuildAllProjects>
        $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
    </MSBuildAllProjects>

    <!-- RunCodeAnalysis, false by default, is set true as necessary from the msbuild command line. -->
    <!-- This is normally done for the gated checkin build. -->
    <RunCodeAnalysis Condition="'$(RunCodeAnalysis)'==''">false</RunCodeAnalysis>
    <!-- EnableCPPAnalysis is set to $(RunCodeAnalysis) for product assemblies (but not test assemblies). -->
    <EnableCPPAnalysis Condition="'$(EnableCPPAnalysis)'==''">$(RunCodeAnalysis)</EnableCPPAnalysis>
  </PropertyGroup>

  <Import Project="$(MSBuildThisFileDirectory)\Common.Build.settings" />

  <PropertyGroup>
    <InternalIncludeDir>$(CasablancaIncludeDir)</InternalIncludeDir>
  </PropertyGroup>

  <ItemDefinitionGroup>
    <ClCompile>
      <MinimalRebuild>false</MinimalRebuild>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/SAFESEH%(AdditionalOptions)</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
    <ClCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
    </ClCompile>
  </ItemDefinitionGroup>

</Project>
