Skip to content

Commit fb0856c

Browse files
committed
ICU-23154 Improve static library generation using msbuild
Due to the circular dependency on icudt.lib it remains necessary to build the project twice. First build the static data. You can do this with: set ENABLE_STATIC=YES&&set CL=/DU_STATIC_IMPLEMENTATION&& set ICU_PACKAGE_MODE=-m static&& msbuild icu4c/source/allinone/allinone.sln /p:Configuration=debug /p:Platform=x64 Save off icudt.lib (for this configuration it's in icu4c/lib64) and clean the project; Restore the .lib and re-run the solution this time indicating you already have static data. It will still be overwritten by makedata.mak, but the data will be identical: set WITH_STATIC_DATA=YES&& set ENABLE_STATIC=YES&&set CL=/DU_STATIC_IMPLEMENTATION&& set ICU_PACKAGE_MODE=-m static&& msbuild icu4c/source/allinone/allinone.sln /p:Configuration=debug /p:Platform=x64 Then run the tests to confirm: icu4c\source\allinone\icucheck.bat x64 Debug
1 parent 05454c6 commit fb0856c

File tree

11 files changed

+265
-8
lines changed

11 files changed

+265
-8
lines changed

icu4c/source/common/common.vcxproj

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
</PropertyGroup>
66
<PropertyGroup Label="Configuration">
77
<ConfigurationType>DynamicLibrary</ConfigurationType>
8+
<ConfigurationType Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</ConfigurationType>
89
<UseOfMfc>false</UseOfMfc>
910
<CharacterSet>MultiByte</CharacterSet>
1011
</PropertyGroup>
@@ -48,6 +49,11 @@
4849
<AdditionalDependencies>icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
4950
<AdditionalLibraryDirectories>.\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
5051
</Link>
52+
<Lib>
53+
<!-- The icudt.lib is for U_ICUDATA_ENTRY_POINT -->
54+
<AdditionalDependencies>icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
55+
<AdditionalLibraryDirectories>.\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
56+
</Lib>
5157
</ItemDefinitionGroup>
5258
<!-- Options that are common to all 'Debug' project configurations -->
5359
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
@@ -61,6 +67,10 @@
6167
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
6268
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuucd.lib</ImportLibrary>
6369
</Link>
70+
<Lib>
71+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
72+
<OutputFile>..\..\$(IcuLibOutputDir)\icuucd.lib</OutputFile>
73+
</Lib>
6474
</ItemDefinitionGroup>
6575
<!-- Options that are common to all 'Release' project configurations -->
6676
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
@@ -73,6 +83,10 @@
7383
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
7484
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuuc.lib</ImportLibrary>
7585
</Link>
86+
<Lib>
87+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
88+
<OutputFile>..\..\$(IcuLibOutputDir)\icuuc.lib</OutputFile>
89+
</Lib>
7690
</ItemDefinitionGroup>
7791
<ItemGroup>
7892
<ClCompile Include="filteredbrk.cpp" />

icu4c/source/common/common_uwp.vcxproj

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@
3737
<PropertyGroup Label="Globals">
3838
<ProjectGuid>{C10CF34B-3F79-430E-AD38-5A32DC0589C2}</ProjectGuid>
3939
<Keyword>DynamicLibrary</Keyword>
40+
<Keyword Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</Keyword>
4041
<DefaultLanguage>en-US</DefaultLanguage>
4142
</PropertyGroup>
4243
<PropertyGroup Label="Configuration">
4344
<ConfigurationType>DynamicLibrary</ConfigurationType>
45+
<ConfigurationType Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</ConfigurationType>
4446
<UseOfMfc>false</UseOfMfc>
4547
<CharacterSet>MultiByte</CharacterSet>
4648
</PropertyGroup>
@@ -108,6 +110,17 @@
108110
<!-- The icudt.lib is for U_ICUDATA_ENTRY_POINT -->
109111
<AdditionalDependencies>icudt.lib;onecore.lib;%(AdditionalDependencies)</AdditionalDependencies>
110112
</Link>
113+
<Lib>
114+
<SuppressStartupBanner>true</SuppressStartupBanner>
115+
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
116+
<RandomizedBaseAddress>true</RandomizedBaseAddress>
117+
<DataExecutionPrevention>
118+
</DataExecutionPrevention>
119+
<TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
120+
<IgnoreSpecificDefaultLibraries>vccorlib.lib;msvcrt.lib</IgnoreSpecificDefaultLibraries>
121+
<!-- The icudt.lib is for U_ICUDATA_ENTRY_POINT -->
122+
<AdditionalDependencies>icudt.lib;%(AdditionalDependencies)</AdditionalDependencies>
123+
</Lib>
111124
</ItemDefinitionGroup>
112125
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
113126
<!-- Options that are common to all 'Release' configurations -->
@@ -128,6 +141,12 @@
128141
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
129142
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuuc.lib</ImportLibrary>
130143
</Link>
144+
<Lib>
145+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
146+
<AdditionalDependencies>vccorlib.lib;msvcrt.lib;vcruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
147+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
148+
<OutputFile>..\..\$(IcuLibOutputDir)\icuuc.lib</OutputFile>
149+
</Lib>
131150
</ItemDefinitionGroup>
132151
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
133152
<!-- Options that are common to all 'Debug' configurations -->
@@ -151,6 +170,11 @@
151170
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
152171
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuucd.lib</ImportLibrary>
153172
</Link>
173+
<Lib>
174+
<GenerateDebugInformation>true</GenerateDebugInformation>
175+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
176+
<OutputFile>..\..\$(IcuLibOutputDir)\icuucd.lib</OutputFile>
177+
</Lib>
154178
</ItemDefinitionGroup>
155179
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
156180
<!-- Options that are common to all 32-bit configurations -->
@@ -164,6 +188,10 @@
164188
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
165189
<AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
166190
</Link>
191+
<Lib>
192+
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
193+
<AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
194+
</Lib>
167195
</ItemDefinitionGroup>
168196
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
169197
<!-- Options that are common to all 64-bit configurations -->
@@ -178,6 +206,11 @@
178206
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
179207
<AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
180208
</Link>
209+
<Lib>
210+
<TargetMachine>MachineX64</TargetMachine>
211+
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
212+
<AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
213+
</Lib>
181214
</ItemDefinitionGroup>
182215
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM'">
183216
<!-- Options that are common to all ARM configurations -->
@@ -192,6 +225,11 @@
192225
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
193226
<AdditionalLibraryDirectories>.\..\..\libARM;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
194227
</Link>
228+
<Lib>
229+
<TargetMachine>MachineARM</TargetMachine>
230+
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
231+
<AdditionalLibraryDirectories>.\..\..\libARM;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
232+
</Lib>
195233
</ItemDefinitionGroup>
196234
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'">
197235
<!-- Options that are common to all ARM64 configurations -->
@@ -206,6 +244,11 @@
206244
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
207245
<AdditionalLibraryDirectories>.\..\..\libARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
208246
</Link>
247+
<Lib>
248+
<TargetMachine>MachineARM64</TargetMachine>
249+
<!-- This is so that we can use the existing stubdata icudt.lib and not need a UWP version. -->
250+
<AdditionalLibraryDirectories>.\..\..\libARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
251+
</Lib>
209252
</ItemDefinitionGroup>
210253
<ItemGroup>
211254
<ClCompile Include="edits.cpp" />

icu4c/source/data/makedata.mak

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ U_ICUDATA_NAME=icudt78
2020
!ENDIF
2121
U_ICUDATA_ENDIAN_SUFFIX=l
2222
UNICODE_VERSION=16.0
23+
!IF "$(ICU_PACKAGE_MODE)"=="-m static"
24+
ICU_LIB_TARGET=$(LIB_OUTPUT)\icudt.lib
25+
!ELSE
2326
ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
27+
!ENDIF
2428

2529
# ICUMAKE
2630
# Must be provided by whoever runs this makefile.
@@ -107,14 +111,19 @@ ICUDATA=$(ICUP)\source\data
107111
#
108112
!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"
109113
DLL_OUTPUT=$(ICUP)\binARM$(UWP)
114+
LIB_OUTPUT=$(ICUP)\libARM$(UWP)
110115
!ELSE IF "$(CFG)" == "ARM64\Release" || "$(CFG)" == "ARM64\Debug"
111116
DLL_OUTPUT=$(ICUP)\binARM64$(UWP)
117+
LIB_OUTPUT=$(ICUP)\libARM64$(UWP)
112118
!ELSE IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
113119
DLL_OUTPUT=$(ICUP)\bin64$(UWP)
120+
LIB_OUTPUT=$(ICUP)\lib64$(UWP)
114121
!ELSE IF "$(UWP)" == "UWP"
115122
DLL_OUTPUT=$(ICUP)\bin32$(UWP)
123+
LIB_OUTPUT=$(ICUP)\lib32$(UWP)
116124
!ELSE
117125
DLL_OUTPUT=$(ICUP)\bin$(UWP)
126+
LIB_OUTPUT=$(ICUP)\lib$(UWP)
118127
!ENDIF
119128
!MESSAGE ICU data DLL_OUTPUT path is $(DLL_OUTPUT)
120129

@@ -431,8 +440,8 @@ icu4j-data-install :
431440
cd "$(ICUBLD_PKG)"
432441
"$(ICUPBIN)\icupkg" -x * --list "$(ICUDATA_SOURCE_ARCHIVE)" > "$(ICUTMP)\icudata.lst"
433442
"$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) "$(ICUTMP)\icudata.lst"
434-
copy "$(U_ICUDATA_NAME).dll" "$(DLL_OUTPUT)"
435-
-@erase "$(U_ICUDATA_NAME).dll"
443+
@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" )
444+
-@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" )
436445
copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
437446
-@erase "$(ICUTMP)\$(ICUPKG).dat"
438447
!ELSE
@@ -441,9 +450,9 @@ icu4j-data-install :
441450
cd "$(ICUBLD_PKG)"
442451
"$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) $(ICUTMP)\icudata.lst
443452
-@erase "$(ICU_LIB_TARGET)"
444-
@if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)"
445-
copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)"
446-
-@erase "$(U_ICUDATA_NAME).dll"
453+
@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" ) else ( if not exist "$(LIB_OUTPUT)" mkdir "$(LIB_OUTPUT)" )
454+
@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" )
455+
-@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" )
447456
copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
448457
-@erase "$(ICUTMP)\$(ICUPKG).dat"
449458
!ENDIF
@@ -453,9 +462,9 @@ icu4j-data-install :
453462
cd "$(ICUBLD_PKG)"
454463
"$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) $(ICUTMP)\icudata.lst
455464
-@erase "$(ICU_LIB_TARGET)"
456-
@if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)"
457-
copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)"
458-
-@erase "$(U_ICUDATA_NAME).dll"
465+
@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" ) else ( if not exist "$(LIB_OUTPUT)" mkdir "$(LIB_OUTPUT)" )
466+
@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" )
467+
-@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" )
459468
copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
460469
-@erase "$(ICUTMP)\$(ICUPKG).dat"
461470
@echo "timestamp" > $(ARM_CROSSBUILD_TS)

icu4c/source/i18n/i18n.vcxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
</PropertyGroup>
66
<PropertyGroup Label="Configuration">
77
<ConfigurationType>DynamicLibrary</ConfigurationType>
8+
<ConfigurationType Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</ConfigurationType>
89
<UseOfMfc>false</UseOfMfc>
910
<CharacterSet>MultiByte</CharacterSet>
1011
</PropertyGroup>
@@ -50,6 +51,9 @@
5051
<Link>
5152
<AdditionalLibraryDirectories>.\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
5253
</Link>
54+
<Lib>
55+
<AdditionalLibraryDirectories>.\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
56+
</Lib>
5357
</ItemDefinitionGroup>
5458
<!-- Options that are common to all 'Debug' project configurations -->
5559
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
@@ -63,6 +67,10 @@
6367
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuind.pdb</ProgramDatabaseFile>
6468
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuind.lib</ImportLibrary>
6569
</Link>
70+
<Lib>
71+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuind.pdb</ProgramDatabaseFile>
72+
<OutputFile>..\..\$(IcuLibOutputDir)\icuind.lib</OutputFile>
73+
</Lib>
6674
</ItemDefinitionGroup>
6775
<!-- Options that are common to all 'Release' project configurations -->
6876
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
@@ -76,6 +84,10 @@
7684
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuin.pdb</ProgramDatabaseFile>
7785
<ImportLibrary>..\..\$(IcuLibOutputDir)\icuin.lib</ImportLibrary>
7886
</Link>
87+
<Lib>
88+
<ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuin.pdb</ProgramDatabaseFile>
89+
<OutputFile>..\..\$(IcuLibOutputDir)\icuin.lib</OutputFile>
90+
</Lib>
7991
</ItemDefinitionGroup>
8092
<ItemGroup>
8193
<ClCompile Include="erarules.cpp" />

icu4c/source/i18n/i18n_uwp.vcxproj

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@
3737
<PropertyGroup Label="Globals">
3838
<ProjectGuid>{6786C051-383B-47E0-9E82-B8B994E06A25}</ProjectGuid>
3939
<Keyword>DynamicLibrary</Keyword>
40+
<Keyword Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</Keyword>
4041
<DefaultLanguage>en-US</DefaultLanguage>
4142
</PropertyGroup>
4243
<PropertyGroup Label="Configuration">
4344
<ConfigurationType>DynamicLibrary</ConfigurationType>
45+
<ConfigurationType Condition="'$(ENABLE_STATIC)'=='YES'">StaticLibrary</ConfigurationType>
4446
<UseOfMfc>false</UseOfMfc>
4547
<CharacterSet>MultiByte</CharacterSet>
4648
</PropertyGroup>
@@ -99,6 +101,14 @@
99101
</DataExecutionPrevention>
100102
<TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
101103
</Link>
104+
<Lib>
105+
<SuppressStartupBanner>true</SuppressStartupBanner>
106+
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
107+
<RandomizedBaseAddress>true</RandomizedBaseAddress>
108+
<DataExecutionPrevention>
109+
</DataExecutionPrevention>
110+
<TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
111+
</Lib>
102112
</ItemDefinitionGroup>
103113
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
104114
<Midl>
@@ -114,6 +124,9 @@
114124
<Link>
115125
<EnableCOMDATFolding>true</EnableCOMDATFolding>
116126
</Link>
127+
<Lib>
128+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
129+
</Lib>
117130
</ItemDefinitionGroup>
118131
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
119132
<Midl>
@@ -132,6 +145,9 @@
132145
<Link>
133146
<GenerateDebugInformation>true</GenerateDebugInformation>
134147
</Link>
148+
<Lib>
149+
<GenerateDebugInformation>true</GenerateDebugInformation>
150+
</Lib>
135151
</ItemDefinitionGroup>
136152
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
137153
<Midl>
@@ -190,6 +206,10 @@
190206
<ImportLibrary>..\..\lib32uwp\icuin.lib</ImportLibrary>
191207
<AdditionalDependencies>..\..\lib32uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
192208
</Link>
209+
<Lib>
210+
<ProgramDatabaseFile>.\..\..\lib32uwp\icuin.pdb</ProgramDatabaseFile>
211+
<OutputFile>..\..\lib32uwp\icuin.lib</OutputFile>
212+
</Lib>
193213
</ItemDefinitionGroup>
194214
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
195215
<Midl>
@@ -207,6 +227,10 @@
207227
<ImportLibrary>..\..\lib32uwp\icuind.lib</ImportLibrary>
208228
<AdditionalDependencies>..\..\lib32uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
209229
</Link>
230+
<Lib>
231+
<ProgramDatabaseFile>.\..\..\lib32uwp\icuind.pdb</ProgramDatabaseFile>
232+
<OutputFile>..\..\lib32uwp\icuind.lib</OutputFile>
233+
</Lib>
210234
</ItemDefinitionGroup>
211235
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
212236
<Midl>
@@ -224,6 +248,10 @@
224248
<ImportLibrary>..\..\lib64uwp\icuin.lib</ImportLibrary>
225249
<AdditionalDependencies>..\..\lib64uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
226250
</Link>
251+
<Lib>
252+
<ProgramDatabaseFile>.\..\..\lib64uwp\icuin.pdb</ProgramDatabaseFile>
253+
<OutputFile>..\..\lib64uwp\icuin.lib</OutputFile>
254+
</Lib>
227255
</ItemDefinitionGroup>
228256
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
229257
<Midl>
@@ -241,6 +269,10 @@
241269
<ImportLibrary>..\..\lib64uwp\icuind.lib</ImportLibrary>
242270
<AdditionalDependencies>..\..\lib64uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
243271
</Link>
272+
<Lib>
273+
<ProgramDatabaseFile>.\..\..\lib64uwp\icuind.pdb</ProgramDatabaseFile>
274+
<OutputFile>..\..\lib64uwp\icuind.lib</OutputFile>
275+
</Lib>
244276
</ItemDefinitionGroup>
245277
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
246278
<Midl>
@@ -258,6 +290,10 @@
258290
<ImportLibrary>..\..\libARMuwp\icuin.lib</ImportLibrary>
259291
<AdditionalDependencies>..\..\libARMuwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
260292
</Link>
293+
<Lib>
294+
<ProgramDatabaseFile>.\..\..\libARMuwp\icuin.pdb</ProgramDatabaseFile>
295+
<OutputFile>..\..\libARMuwp\icuin.lib</OutputFile>
296+
</Lib>
261297
</ItemDefinitionGroup>
262298
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
263299
<Midl>
@@ -275,6 +311,10 @@
275311
<ImportLibrary>..\..\libARMuwp\icuind.lib</ImportLibrary>
276312
<AdditionalDependencies>..\..\libARMuwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
277313
</Link>
314+
<Lib>
315+
<ProgramDatabaseFile>.\..\..\libARMuwp\icuind.pdb</ProgramDatabaseFile>
316+
<OutputFile>..\..\libARMuwp\icuind.lib</OutputFile>
317+
</Lib>
278318
</ItemDefinitionGroup>
279319
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
280320
<Midl>
@@ -292,6 +332,10 @@
292332
<ImportLibrary>..\..\libARM64uwp\icuin.lib</ImportLibrary>
293333
<AdditionalDependencies>..\..\libARM64uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
294334
</Link>
335+
<Lib>
336+
<ProgramDatabaseFile>.\..\..\libARM64uwp\icuin.pdb</ProgramDatabaseFile>
337+
<OutputFile>..\..\libARM64uwp\icuin.lib</OutputFile>
338+
</Lib>
295339
</ItemDefinitionGroup>
296340
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
297341
<Midl>
@@ -309,6 +353,10 @@
309353
<ImportLibrary>..\..\libARM64uwp\icuind.lib</ImportLibrary>
310354
<AdditionalDependencies>..\..\libARM64uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
311355
</Link>
356+
<Lib>
357+
<ProgramDatabaseFile>.\..\..\libARM64uwp\icuind.pdb</ProgramDatabaseFile>
358+
<OutputFile>..\..\libARM64uwp\icuind.lib</OutputFile>
359+
</Lib>
312360
</ItemDefinitionGroup>
313361
<ItemGroup>
314362
<ClCompile Include="erarules.cpp" />

0 commit comments

Comments
 (0)