<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This file is used to set default configuration options for all non-UWP Visual Studio projects. -->
  <!-- These are the default project configurations for building. -->
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <!-- The following import will set the PlatformToolset configuration. -->
  <Import Project="Build.Windows.PlatformToolset.props" />
  <PropertyGroup>
    <!-- This is the default SDK target. -->
    <!-- Note that the Windows 8.1 SDK is backwards compatible down-level to Windows 7, so
         setting this to 8.1 does not actually imply targeting Windows 8.1. -->
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <PropertyGroup>
    <!-- We need to explicitly set the target version to Windows 7. -->
    <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>
  </PropertyGroup>
  <!-- Options that are common to *all* configurations for *all* projects. -->
  <ItemDefinitionGroup>
    <Midl>
      <MkTypLibCompatible>true</MkTypLibCompatible>
      <SuppressStartupBanner>true</SuppressStartupBanner>
    </Midl>
    <ClCompile>
      <!-- Note: These preprocessor defines are for *all* configurations for *all* projects.  -->
      <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. -->
      <PreprocessorDefinitions>
        WINVER=$(Win32_WinNTVersion);
        _WIN32_WINNT=$(Win32_WinNTVersion);
        _CRT_SECURE_NO_DEPRECATE;
        %(PreprocessorDefinitions)
      </PreprocessorDefinitions>
      <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. -->
      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <!-- Set the source encoding and runtime encoding to UTF-8 by default. -->
      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
      <!-- Enable parallel compilation for faster builds. -->
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
    </ClCompile>
    <ResourceCompile>
      <Culture>0x0409</Culture>
    </ResourceCompile>
    <Link>
      <SuppressStartupBanner>true</SuppressStartupBanner>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 'Release' configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
    <Midl>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <StringPooling>true</StringPooling>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ResourceCompile>
    <Link>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 'Debug' configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
    <Midl>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>Disabled</Optimization>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <BufferSecurityCheck>true</BufferSecurityCheck>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ResourceCompile>
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 32-bit configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
    <Midl>
      <TargetEnvironment>Win32</TargetEnvironment>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <!-- Options that are common to all 64-bit configurations for *all* projects. -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
    <Midl>
      <TargetEnvironment>X64</TargetEnvironment>
    </Midl>
    <ClCompile>
      <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <TargetMachine>MachineX64</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
</Project>