]> git.saurik.com Git - apple/icu.git/blob - icuSources/allinone/Build.Windows.ProjectConfiguration.props
ICU-66108.tar.gz
[apple/icu.git] / icuSources / allinone / Build.Windows.ProjectConfiguration.props
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 <!-- This is the default SDK target. -->
60 <PropertyGroup>
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>
64 </PropertyGroup>
65 <!-- Desktop ARM/ARM64 support requires a newer version of the Windows SDK than 8.1 -->
66 <!--
67 Note: This version must match the version below in the ARM64 section for AdditionalLibraryDirectories
68 -->
69 <PropertyGroup Condition="'$(Platform)'=='ARM'">
70 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
71 <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
72 </PropertyGroup>
73 <PropertyGroup Condition="'$(Platform)'=='ARM64'">
74 <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
75 <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
76 </PropertyGroup>
77 <PropertyGroup>
78 <!-- We need to explicitly set the target version to Windows 7. -->
79 <Win32_WinNTVersion>0x0601</Win32_WinNTVersion>
80 </PropertyGroup>
81 <!-- Options that are common to *all* configurations for *all* projects. -->
82 <ItemDefinitionGroup>
83 <Midl>
84 <MkTypLibCompatible>true</MkTypLibCompatible>
85 <SuppressStartupBanner>true</SuppressStartupBanner>
86 </Midl>
87 <ClCompile>
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>
103 </ClCompile>
104 <ResourceCompile>
105 <Culture>0x0409</Culture>
106 </ResourceCompile>
107 <Link>
108 <SuppressStartupBanner>true</SuppressStartupBanner>
109 <RandomizedBaseAddress>true</RandomizedBaseAddress>
110 </Link>
111 </ItemDefinitionGroup>
112 <!-- Options that are common to all 'Release' configurations for *all* projects. -->
113 <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
114 <Midl>
115 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
116 </Midl>
117 <ClCompile>
118 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
119 <StringPooling>true</StringPooling>
120 <WholeProgramOptimization>true</WholeProgramOptimization>
121 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
122 </ClCompile>
123 <ResourceCompile>
124 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
125 </ResourceCompile>
126 <Link>
127 <EnableCOMDATFolding>true</EnableCOMDATFolding>
128 <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
129 </Link>
130 </ItemDefinitionGroup>
131 <!-- Options that are common to all 'Debug' configurations for *all* projects. -->
132 <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
133 <Midl>
134 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
135 </Midl>
136 <ClCompile>
137 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
138 <Optimization>Disabled</Optimization>
139 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
140 <BufferSecurityCheck>true</BufferSecurityCheck>
141 </ClCompile>
142 <ResourceCompile>
143 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
144 </ResourceCompile>
145 <Link>
146 <GenerateDebugInformation>true</GenerateDebugInformation>
147 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
148 </Link>
149 </ItemDefinitionGroup>
150 <!-- Options that are common to all 32-bit configurations for *all* projects. -->
151 <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
152 <Midl>
153 <TargetEnvironment>Win32</TargetEnvironment>
154 </Midl>
155 <ClCompile>
156 <PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
157 </ClCompile>
158 <Link>
159 <TargetMachine>MachineX86</TargetMachine>
160 </Link>
161 </ItemDefinitionGroup>
162 <!-- Options that are common to all 64-bit configurations for *all* projects. -->
163 <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
164 <Midl>
165 <TargetEnvironment>X64</TargetEnvironment>
166 </Midl>
167 <ClCompile>
168 <PreprocessorDefinitions>WIN64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
169 </ClCompile>
170 <Link>
171 <TargetMachine>MachineX64</TargetMachine>
172 </Link>
173 </ItemDefinitionGroup>
174 <!-- Options that are common to all ARM 32-bit configurations for *all* projects. -->
175 <ItemDefinitionGroup Condition="'$(Platform)'=='ARM'">
176 <Midl>
177 <TargetEnvironment>ARM</TargetEnvironment>
178 </Midl>
179 <ClCompile>
180 <PreprocessorDefinitions>ARM;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
181 </ClCompile>
182 <Link>
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>
188 </Link>
189 </ItemDefinitionGroup>
190 <!-- Options that are common to all ARM 64-bit configurations for *all* projects. -->
191 <ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'">
192 <Midl>
193 <TargetEnvironment>ARM64</TargetEnvironment>
194 </Midl>
195 <ClCompile>
196 <PreprocessorDefinitions>ARM64;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
197 </ClCompile>
198 <Link>
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>
204 </Link>
205 </ItemDefinitionGroup>
206 </Project>