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=
"Debug|ARM">
16 <Configuration>Debug
</Configuration>
17 <Platform>ARM
</Platform>
18 </ProjectConfiguration>
19 <ProjectConfiguration Include=
"Debug|ARM64">
20 <Configuration>Debug
</Configuration>
21 <Platform>ARM64
</Platform>
22 </ProjectConfiguration>
23 <ProjectConfiguration Include=
"Release|Win32">
24 <Configuration>Release
</Configuration>
25 <Platform>Win32
</Platform>
26 </ProjectConfiguration>
27 <ProjectConfiguration Include=
"Release|x64">
28 <Configuration>Release
</Configuration>
29 <Platform>x64
</Platform>
30 </ProjectConfiguration>
31 <ProjectConfiguration Include=
"Release|ARM">
32 <Configuration>Release
</Configuration>
33 <Platform>ARM
</Platform>
34 </ProjectConfiguration>
35 <ProjectConfiguration Include=
"Release|ARM64">
36 <Configuration>Release
</Configuration>
37 <Platform>ARM64
</Platform>
38 </ProjectConfiguration>
40 <!-- The following import will set the PlatformToolset configuration. -->
41 <Import Project=
"Build.Windows.PlatformToolset.props" />
42 <!-- The following PropertyGroups are used to set the binary and lib output locations -->
43 <PropertyGroup Condition=
"'$(Platform)'=='Win32'">
44 <IcuBinOutputDir>bin
</IcuBinOutputDir>
45 <IcuLibOutputDir>lib
</IcuLibOutputDir>
47 <PropertyGroup Condition=
"'$(Platform)'=='x64'">
48 <IcuBinOutputDir>bin64
</IcuBinOutputDir>
49 <IcuLibOutputDir>lib64
</IcuLibOutputDir>
51 <PropertyGroup Condition=
"'$(Platform)'=='ARM'">
52 <IcuBinOutputDir>binARM
</IcuBinOutputDir>
53 <IcuLibOutputDir>libARM
</IcuLibOutputDir>
55 <PropertyGroup Condition=
"'$(Platform)'=='ARM64'">
56 <IcuBinOutputDir>binARM64
</IcuBinOutputDir>
57 <IcuLibOutputDir>libARM64
</IcuLibOutputDir>
59 <!-- This is the default SDK target. -->
61 <!-- Note that the Windows 8.1 SDK is backwards compatible down-level to Windows 7, so
62 setting this to 8.1 does not actually imply targeting Windows 8.1. -->
63 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
65 <!-- Desktop ARM/ARM64 support requires a newer version of the Windows SDK than 8.1 -->
67 Note: This version must match the version below in the ARM64 section for AdditionalLibraryDirectories
69 <PropertyGroup Condition=
"'$(Platform)'=='ARM'">
70 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
71 <WindowsSDKDesktopARMSupport>true
</WindowsSDKDesktopARMSupport>
73 <PropertyGroup Condition=
"'$(Platform)'=='ARM64'">
74 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
75 <WindowsSDKDesktopARM64Support>true
</WindowsSDKDesktopARM64Support>
78 <!-- We need to explicitly set the target version to Windows 7. -->
79 <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>
81 <!-- Options that are common to *all* configurations for *all* projects. -->
84 <MkTypLibCompatible>true
</MkTypLibCompatible>
85 <SuppressStartupBanner>true
</SuppressStartupBanner>
88 <!-- Note: These preprocessor defines are for *all* configurations for *all* projects. -->
89 <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. -->
90 <PreprocessorDefinitions>
91 WINVER=$(Win32_WinNTVersion);
92 _WIN32_WINNT=$(Win32_WinNTVersion);
93 _CRT_SECURE_NO_DEPRECATE;
94 %(PreprocessorDefinitions)
95 </PreprocessorDefinitions>
96 <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. -->
97 <TreatWChar_tAsBuiltInType>true
</TreatWChar_tAsBuiltInType>
98 <SuppressStartupBanner>true
</SuppressStartupBanner>
99 <!-- Set the source encoding and runtime encoding to UTF-8 by default. -->
100 <AdditionalOptions>/utf-
8 %(AdditionalOptions)
</AdditionalOptions>
101 <!-- Enable parallel compilation for faster builds. -->
102 <MultiProcessorCompilation>true
</MultiProcessorCompilation>
105 <Culture>0x0409</Culture>
108 <SuppressStartupBanner>true
</SuppressStartupBanner>
109 <RandomizedBaseAddress>true
</RandomizedBaseAddress>
111 </ItemDefinitionGroup>
112 <!-- Options that are common to all 'Release' configurations for *all* projects. -->
113 <ItemDefinitionGroup Condition=
"'$(Configuration)'=='Release'">
115 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
118 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
119 <StringPooling>true
</StringPooling>
120 <WholeProgramOptimization>true
</WholeProgramOptimization>
121 <DebugInformationFormat>ProgramDatabase
</DebugInformationFormat>
124 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
127 <EnableCOMDATFolding>true
</EnableCOMDATFolding>
128 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration
</LinkTimeCodeGeneration>
130 </ItemDefinitionGroup>
131 <!-- Options that are common to all 'Debug' configurations for *all* projects. -->
132 <ItemDefinitionGroup Condition=
"'$(Configuration)'=='Debug'">
134 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
137 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
138 <Optimization>Disabled
</Optimization>
139 <BasicRuntimeChecks>EnableFastChecks
</BasicRuntimeChecks>
140 <BufferSecurityCheck>true
</BufferSecurityCheck>
143 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
146 <GenerateDebugInformation>true
</GenerateDebugInformation>
147 <ImageHasSafeExceptionHandlers>false
</ImageHasSafeExceptionHandlers>
149 </ItemDefinitionGroup>
150 <!-- Options that are common to all 32-bit configurations for *all* projects. -->
151 <ItemDefinitionGroup Condition=
"'$(Platform)'=='Win32'">
153 <TargetEnvironment>Win32
</TargetEnvironment>
156 <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
159 <TargetMachine>MachineX86
</TargetMachine>
161 </ItemDefinitionGroup>
162 <!-- Options that are common to all 64-bit configurations for *all* projects. -->
163 <ItemDefinitionGroup Condition=
"'$(Platform)'=='x64'">
165 <TargetEnvironment>X64
</TargetEnvironment>
168 <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
171 <TargetMachine>MachineX64
</TargetMachine>
173 </ItemDefinitionGroup>
174 <!-- Options that are common to all ARM 32-bit configurations for *all* projects. -->
175 <ItemDefinitionGroup Condition=
"'$(Platform)'=='ARM'">
177 <TargetEnvironment>ARM
</TargetEnvironment>
180 <PreprocessorDefinitions>ARM;WIN32;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
183 <TargetMachine>MachineARM
</TargetMachine>
184 <!-- The ARM64 Desktop SDK doesn't include this by default -->
185 <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)
</AdditionalDependencies>
186 <!-- Note: This needs to match the same version as WindowsTargetPlatformVersion for ARM -->
187 <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\
10\Lib\
10.0.16299.0\um\arm
</AdditionalLibraryDirectories>
189 </ItemDefinitionGroup>
190 <!-- Options that are common to all ARM 64-bit configurations for *all* projects. -->
191 <ItemDefinitionGroup Condition=
"'$(Platform)'=='ARM64'">
193 <TargetEnvironment>ARM64
</TargetEnvironment>
196 <PreprocessorDefinitions>ARM64;WIN32;%(PreprocessorDefinitions)
</PreprocessorDefinitions>
199 <TargetMachine>MachineARM64
</TargetMachine>
200 <!-- The ARM64 Desktop SDK doesn't include this by default -->
201 <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)
</AdditionalDependencies>
202 <!-- Note: This needs to match the same version as WindowsTargetPlatformVersion for ARM64 -->
203 <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\
10\Lib\
10.0.16299.0\um\arm64
</AdditionalLibraryDirectories>
205 </ItemDefinitionGroup>