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