1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->
3<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4  <!-- This file is used to set default configuration options for all non-UWP Visual Studio projects. -->
5  <!-- These are the default project configurations for building. -->
6  <ItemGroup Label="ProjectConfigurations">
7    <ProjectConfiguration Include="Debug|Win32">
8      <Configuration>Debug</Configuration>
9      <Platform>Win32</Platform>
10    </ProjectConfiguration>
11    <ProjectConfiguration Include="Debug|x64">
12      <Configuration>Debug</Configuration>
13      <Platform>x64</Platform>
14    </ProjectConfiguration>
15    <ProjectConfiguration Include="Release|Win32">
16      <Configuration>Release</Configuration>
17      <Platform>Win32</Platform>
18    </ProjectConfiguration>
19    <ProjectConfiguration Include="Release|x64">
20      <Configuration>Release</Configuration>
21      <Platform>x64</Platform>
22    </ProjectConfiguration>
23  </ItemGroup>
24  <PropertyGroup>
25    <!-- This is the version of the MSVC tool-set to use. -->
26    <!-- v140 is the Visual Studio 2015 toolset. -->
27    <!-- v141 is the Visual Studio 2017 toolset. -->
28    <PlatformToolset>v141</PlatformToolset>
29  </PropertyGroup>
30  <PropertyGroup>
31    <!-- This is the default SDK target. -->
32    <!-- Note that the Windows 8.1 SDK is backwards compatible down-level to Windows 7, so
33         setting this to 8.1 does not actually imply targeting Windows 8.1. -->
34    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
35  </PropertyGroup>
36  <PropertyGroup>
37    <!-- We need to explicitly set the target version to Windows 7. -->
38    <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>
39  </PropertyGroup>
40  <!-- Options that are common to *all* configurations for *all* projects. -->
41  <ItemDefinitionGroup>
42    <Midl>
43      <MkTypLibCompatible>true</MkTypLibCompatible>
44      <SuppressStartupBanner>true</SuppressStartupBanner>
45    </Midl>
46    <ClCompile>
47      <!-- Note: These preprocessor defines are for *all* configurations for *all* projects.  -->
48      <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. -->
49      <PreprocessorDefinitions>
50        WINVER=$(Win32_WinNTVersion);
51        _WIN32_WINNT=$(Win32_WinNTVersion);
52        _CRT_SECURE_NO_DEPRECATE;
53        %(PreprocessorDefinitions)
54      </PreprocessorDefinitions>
55      <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. -->
56      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
57      <SuppressStartupBanner>true</SuppressStartupBanner>
58      <!-- Set the source encoding and runtime encoding to UTF-8 by default. -->
59      <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
60      <!-- Enable parallel compilation for faster builds. -->
61      <MultiProcessorCompilation>true</MultiProcessorCompilation>
62    </ClCompile>
63    <ResourceCompile>
64      <Culture>0x0409</Culture>
65    </ResourceCompile>
66    <Link>
67      <SuppressStartupBanner>true</SuppressStartupBanner>
68    </Link>
69  </ItemDefinitionGroup>
70  <!-- Options that are common to all 'Release' configurations for *all* projects. -->
71  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
72    <Midl>
73      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
74    </Midl>
75    <ClCompile>
76      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
77      <StringPooling>true</StringPooling>
78    </ClCompile>
79    <ResourceCompile>
80      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
81    </ResourceCompile>
82    <Link>
83      <EnableCOMDATFolding>true</EnableCOMDATFolding>
84    </Link>
85  </ItemDefinitionGroup>
86  <!-- Options that are common to all 'Debug' configurations for *all* projects. -->
87  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
88    <Midl>
89      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
90    </Midl>
91    <ClCompile>
92      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
93      <Optimization>Disabled</Optimization>
94      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
95      <BufferSecurityCheck>true</BufferSecurityCheck>
96    </ClCompile>
97    <ResourceCompile>
98      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
99    </ResourceCompile>
100    <Link>
101      <GenerateDebugInformation>true</GenerateDebugInformation>
102      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
103    </Link>
104  </ItemDefinitionGroup>
105  <!-- Options that are common to all 32-bit configurations for *all* projects. -->
106  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
107    <Midl>
108      <TargetEnvironment>Win32</TargetEnvironment>
109    </Midl>
110    <ClCompile>
111      <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
112    </ClCompile>
113    <Link>
114      <TargetMachine>MachineX86</TargetMachine>
115    </Link>
116  </ItemDefinitionGroup>
117  <!-- Options that are common to all 64-bit configurations for *all* projects. -->
118  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
119    <Midl>
120      <TargetEnvironment>X64</TargetEnvironment>
121    </Midl>
122    <ClCompile>
123      <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
124    </ClCompile>
125    <Link>
126      <TargetMachine>MachineX64</TargetMachine>
127    </Link>
128  </ItemDefinitionGroup>
129</Project>