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> 39 </ItemGroup> 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> 46 </PropertyGroup> 47 <PropertyGroup Condition="'$(Platform)'=='x64'"> 48 <IcuBinOutputDir>bin64</IcuBinOutputDir> 49 <IcuLibOutputDir>lib64</IcuLibOutputDir> 50 </PropertyGroup> 51 <PropertyGroup Condition="'$(Platform)'=='ARM'"> 52 <IcuBinOutputDir>binARM</IcuBinOutputDir> 53 <IcuLibOutputDir>libARM</IcuLibOutputDir> 54 </PropertyGroup> 55 <PropertyGroup Condition="'$(Platform)'=='ARM64'"> 56 <IcuBinOutputDir>binARM64</IcuBinOutputDir> 57 <IcuLibOutputDir>libARM64</IcuLibOutputDir> 58 </PropertyGroup> 59 <!-- Desktop ARM/ARM64 support requires a different version of the Windows SDK --> 60 <!-- 61 Note: This version must match the version below in the ARM64 section for AdditionalLibraryDirectories 62 --> 63 <PropertyGroup Condition="'$(Platform)'=='ARM'"> 64 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> 65 <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport> 66 </PropertyGroup> 67 <PropertyGroup Condition="'$(Platform)'=='ARM64'"> 68 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion> 69 <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support> 70 </PropertyGroup> 71 <PropertyGroup> 72 <!-- We need to explicitly set the target version to Windows 7. --> 73 <Win32_WinNTVersion>0x0601</Win32_WinNTVersion> 74 </PropertyGroup> 75 <!-- Options that are common to *all* configurations for *all* projects. --> 76 <ItemDefinitionGroup> 77 <Midl> 78 <MkTypLibCompatible>true</MkTypLibCompatible> 79 <SuppressStartupBanner>true</SuppressStartupBanner> 80 </Midl> 81 <ClCompile> 82 <!-- Note: These preprocessor defines are for *all* configurations for *all* projects. --> 83 <!-- Note: See ticket #5750 for the macro '_CRT_SECURE_NO_DEPRECATE'. --> 84 <PreprocessorDefinitions> 85 WINVER=$(Win32_WinNTVersion); 86 _WIN32_WINNT=$(Win32_WinNTVersion); 87 _CRT_SECURE_NO_DEPRECATE; 88 %(PreprocessorDefinitions) 89 </PreprocessorDefinitions> 90 <!-- We always want to treat wchar_t as a "real" C++ type, instead of a typedef. --> 91 <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> 92 <SuppressStartupBanner>true</SuppressStartupBanner> 93 <!-- Set the source encoding and runtime encoding to UTF-8 by default. --> 94 <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions> 95 <!-- Enable parallel compilation for faster builds. --> 96 <MultiProcessorCompilation>true</MultiProcessorCompilation> 97 </ClCompile> 98 <ResourceCompile> 99 <Culture>0x0409</Culture> 100 </ResourceCompile> 101 <Link> 102 <SuppressStartupBanner>true</SuppressStartupBanner> 103 <RandomizedBaseAddress>true</RandomizedBaseAddress> 104 </Link> 105 </ItemDefinitionGroup> 106 <!-- Options that are common to all 'Release' configurations for *all* projects. --> 107 <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> 108 <Midl> 109 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 110 </Midl> 111 <ClCompile> 112 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 113 <StringPooling>true</StringPooling> 114 <WholeProgramOptimization>true</WholeProgramOptimization> 115 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 116 </ClCompile> 117 <ResourceCompile> 118 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 119 </ResourceCompile> 120 <Link> 121 <EnableCOMDATFolding>true</EnableCOMDATFolding> 122 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> 123 </Link> 124 </ItemDefinitionGroup> 125 <!-- Options that are common to all 'Debug' configurations for *all* projects. --> 126 <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'"> 127 <Midl> 128 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 129 </Midl> 130 <ClCompile> 131 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 132 <Optimization>Disabled</Optimization> 133 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 134 <BufferSecurityCheck>true</BufferSecurityCheck> 135 </ClCompile> 136 <ResourceCompile> 137 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 138 </ResourceCompile> 139 <Link> 140 <GenerateDebugInformation>true</GenerateDebugInformation> 141 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> 142 </Link> 143 </ItemDefinitionGroup> 144 <!-- Options that are common to all 32-bit configurations for *all* projects. --> 145 <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> 146 <Midl> 147 <TargetEnvironment>Win32</TargetEnvironment> 148 </Midl> 149 <ClCompile> 150 <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> 151 </ClCompile> 152 <Link> 153 <TargetMachine>MachineX86</TargetMachine> 154 </Link> 155 </ItemDefinitionGroup> 156 <!-- Options that are common to all 64-bit configurations for *all* projects. --> 157 <ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> 158 <Midl> 159 <TargetEnvironment>X64</TargetEnvironment> 160 </Midl> 161 <ClCompile> 162 <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> 163 </ClCompile> 164 <Link> 165 <TargetMachine>MachineX64</TargetMachine> 166 </Link> 167 </ItemDefinitionGroup> 168 <!-- Options that are common to all ARM 32-bit configurations for *all* projects. --> 169 <ItemDefinitionGroup Condition="'$(Platform)'=='ARM'"> 170 <Midl> 171 <TargetEnvironment>ARM</TargetEnvironment> 172 </Midl> 173 <ClCompile> 174 <PreprocessorDefinitions>ARM;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> 175 </ClCompile> 176 <Link> 177 <TargetMachine>MachineARM</TargetMachine> 178 <!-- The ARM64 Desktop SDK doesn't include this by default --> 179 <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies> 180 <!-- Note: This needs to match the same version as WindowsTargetPlatformVersion for ARM --> 181 <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm</AdditionalLibraryDirectories> 182 </Link> 183 </ItemDefinitionGroup> 184 <!-- Options that are common to all ARM 64-bit configurations for *all* projects. --> 185 <ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'"> 186 <Midl> 187 <TargetEnvironment>ARM64</TargetEnvironment> 188 </Midl> 189 <ClCompile> 190 <PreprocessorDefinitions>ARM64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> 191 </ClCompile> 192 <Link> 193 <TargetMachine>MachineARM64</TargetMachine> 194 <!-- The ARM64 Desktop SDK doesn't include this by default --> 195 <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies> 196 <!-- Note: This needs to match the same version as WindowsTargetPlatformVersion for ARM64 --> 197 <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories> 198 </Link> 199 </ItemDefinitionGroup> 200</Project>