Skip to content

Commit 0651af8

Browse files
authored
Build tweaks to simplify Win7 smoke testing (#471)
1 parent a2c65b4 commit 0651af8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+4743
-26
lines changed

Diff for: cppwinrt.sln

+24
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_module_lock_custom", "
9696
EndProject
9797
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3C7EA5F8-6E8C-4376-B499-2CAF596384B0}"
9898
EndProject
99+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_win7", "test\test_win7\test_win7.vcxproj", "{2EF696B9-7F4A-410F-AE5C-5301565C0F08}"
100+
ProjectSection(ProjectDependencies) = postProject
101+
{D613FB39-5035-4043-91E2-BAB323908AF4} = {D613FB39-5035-4043-91E2-BAB323908AF4}
102+
{F1C915B3-2C64-4992-AFB7-7F035B1A7607} = {F1C915B3-2C64-4992-AFB7-7F035B1A7607}
103+
{A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270} = {A91B8BF3-28E4-4D9E-8DBA-64B70E4F0270}
104+
EndProjectSection
105+
EndProject
99106
Global
100107
GlobalSection(SolutionConfigurationPlatforms) = preSolution
101108
Debug|ARM = Debug|ARM
@@ -412,6 +419,22 @@ Global
412419
{08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x64.Build.0 = Release|x64
413420
{08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x86.ActiveCfg = Release|Win32
414421
{08C40663-B6A3-481E-8755-AE32BAD99501}.Release|x86.Build.0 = Release|Win32
422+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|ARM.ActiveCfg = Debug|ARM
423+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|ARM.Build.0 = Debug|ARM
424+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|ARM64.ActiveCfg = Debug|ARM64
425+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|ARM64.Build.0 = Debug|ARM64
426+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|x64.ActiveCfg = Debug|x64
427+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|x64.Build.0 = Debug|x64
428+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|x86.ActiveCfg = Debug|Win32
429+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Debug|x86.Build.0 = Debug|Win32
430+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|ARM.ActiveCfg = Release|ARM
431+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|ARM.Build.0 = Release|ARM
432+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|ARM64.ActiveCfg = Release|ARM64
433+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|ARM64.Build.0 = Release|ARM64
434+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|x64.ActiveCfg = Release|x64
435+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|x64.Build.0 = Release|x64
436+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|x86.ActiveCfg = Release|Win32
437+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08}.Release|x86.Build.0 = Release|Win32
415438
EndGlobalSection
416439
GlobalSection(SolutionProperties) = preSolution
417440
HideSolutionNode = FALSE
@@ -433,6 +456,7 @@ Global
433456
{303CC0FE-7D66-4F9F-B7A1-0AF7F9359074} = {3C7EA5F8-6E8C-4376-B499-2CAF596384B0}
434457
{D48A96C2-8512-4CC3-B6E4-7CFF07ED8ED3} = {3C7EA5F8-6E8C-4376-B499-2CAF596384B0}
435458
{08C40663-B6A3-481E-8755-AE32BAD99501} = {3C7EA5F8-6E8C-4376-B499-2CAF596384B0}
459+
{2EF696B9-7F4A-410F-AE5C-5301565C0F08} = {3C7EA5F8-6E8C-4376-B499-2CAF596384B0}
436460
EndGlobalSection
437461
GlobalSection(ExtensibilityGlobals) = postSolution
438462
SolutionGuid = {2783B8FD-EA3B-4D6B-9F81-662D289E02AA}

Diff for: cppwinrt/cppwinrt.vcxproj

+4
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@
201201
<ClCompile>
202202
<Optimization>Disabled</Optimization>
203203
<AdditionalIncludeDirectories>..\inc;$(OutputPath);$(WinMDPackageDir);</AdditionalIncludeDirectories>
204+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
204205
</ClCompile>
205206
<Link>
206207
<SubSystem>Console</SubSystem>
@@ -217,6 +218,7 @@
217218
<ClCompile>
218219
<Optimization>Disabled</Optimization>
219220
<AdditionalIncludeDirectories>..\inc;$(OutputPath);$(WinMDPackageDir);</AdditionalIncludeDirectories>
221+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
220222
</ClCompile>
221223
<Link>
222224
<SubSystem>Console</SubSystem>
@@ -233,6 +235,7 @@
233235
<ClCompile>
234236
<Optimization>Disabled</Optimization>
235237
<AdditionalIncludeDirectories>..\inc;$(OutputPath);$(WinMDPackageDir);</AdditionalIncludeDirectories>
238+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
236239
</ClCompile>
237240
<Link>
238241
<SubSystem>Console</SubSystem>
@@ -249,6 +252,7 @@
249252
<ClCompile>
250253
<Optimization>Disabled</Optimization>
251254
<AdditionalIncludeDirectories>..\inc;$(OutputPath);$(WinMDPackageDir);</AdditionalIncludeDirectories>
255+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
252256
</ClCompile>
253257
<Link>
254258
<SubSystem>Console</SubSystem>

Diff for: prebuild/prebuild.vcxproj

+8
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@
125125
<ClCompile>
126126
<Optimization>Disabled</Optimization>
127127
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
128+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
128129
</ClCompile>
129130
<Link>
130131
<SubSystem>Console</SubSystem>
@@ -134,6 +135,7 @@
134135
<ClCompile>
135136
<Optimization>Disabled</Optimization>
136137
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
138+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
137139
</ClCompile>
138140
<Link>
139141
<SubSystem>Console</SubSystem>
@@ -143,6 +145,7 @@
143145
<ClCompile>
144146
<Optimization>Disabled</Optimization>
145147
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
148+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
146149
</ClCompile>
147150
<Link>
148151
<SubSystem>Console</SubSystem>
@@ -152,6 +155,7 @@
152155
<ClCompile>
153156
<Optimization>Disabled</Optimization>
154157
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
158+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
155159
</ClCompile>
156160
<Link>
157161
<SubSystem>Console</SubSystem>
@@ -163,6 +167,7 @@
163167
<FunctionLevelLinking>true</FunctionLevelLinking>
164168
<IntrinsicFunctions>true</IntrinsicFunctions>
165169
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
170+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
166171
</ClCompile>
167172
<Link>
168173
<SubSystem>Console</SubSystem>
@@ -176,6 +181,7 @@
176181
<FunctionLevelLinking>true</FunctionLevelLinking>
177182
<IntrinsicFunctions>true</IntrinsicFunctions>
178183
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
184+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
179185
</ClCompile>
180186
<Link>
181187
<SubSystem>Console</SubSystem>
@@ -189,6 +195,7 @@
189195
<FunctionLevelLinking>true</FunctionLevelLinking>
190196
<IntrinsicFunctions>true</IntrinsicFunctions>
191197
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
198+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
192199
</ClCompile>
193200
<Link>
194201
<SubSystem>Console</SubSystem>
@@ -202,6 +209,7 @@
202209
<FunctionLevelLinking>true</FunctionLevelLinking>
203210
<IntrinsicFunctions>true</IntrinsicFunctions>
204211
<AdditionalIncludeDirectories>..\cppwinrt</AdditionalIncludeDirectories>
212+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205213
</ClCompile>
206214
<Link>
207215
<SubSystem>Console</SubSystem>

Diff for: run_tests.cmd

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ if "%target_platform%"=="" set target_platform=x64
99
if "%target_configuration%"=="" set target_configuration=Debug
1010

1111
call :run_test test
12+
call :run_test test_win7
1213
call :run_test test_fast
1314
call :run_test test_slow
1415
call :run_test test_old

Diff for: scratch/scratch.vcxproj

+8
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@
130130
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
131131
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
132132
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
133+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
133134
</ClCompile>
134135
<Link>
135136
<SubSystem>Console</SubSystem>
@@ -151,6 +152,7 @@
151152
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
152153
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
153154
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
155+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
154156
</ClCompile>
155157
<Link>
156158
<SubSystem>Console</SubSystem>
@@ -170,6 +172,7 @@
170172
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
171173
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172174
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
175+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
173176
</ClCompile>
174177
<Link>
175178
<SubSystem>Console</SubSystem>
@@ -189,6 +192,7 @@
189192
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
190193
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191194
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
195+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
192196
</ClCompile>
193197
<Link>
194198
<SubSystem>Console</SubSystem>
@@ -208,6 +212,7 @@
208212
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
209213
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
210214
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
215+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
211216
</ClCompile>
212217
<Link>
213218
<SubSystem>Console</SubSystem>
@@ -229,6 +234,7 @@
229234
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
230235
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
231236
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
237+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
232238
</ClCompile>
233239
<Link>
234240
<SubSystem>Console</SubSystem>
@@ -252,6 +258,7 @@
252258
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
253259
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254260
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
261+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
255262
</ClCompile>
256263
<Link>
257264
<SubSystem>Console</SubSystem>
@@ -275,6 +282,7 @@
275282
<AdditionalIncludeDirectories>$(OutputPath);Generated Files;..\..\..\library</AdditionalIncludeDirectories>
276283
<PreprocessorDefinitions>NOMINMAX;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
277284
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
285+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
278286
</ClCompile>
279287
<Link>
280288
<SubSystem>Console</SubSystem>

Diff for: strings/base_activation.h

+8-1
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,15 @@ namespace winrt::impl
3434

3535
if (hr == impl::error_not_initialized)
3636
{
37+
auto usage = static_cast<int32_t(__stdcall*)(void** cookie) noexcept>(WINRT_GetProcAddress(WINRT_LoadLibraryW(L"combase.dll"), "CoIncrementMTAUsage"));
38+
39+
if (!usage)
40+
{
41+
return hr;
42+
}
43+
3744
void* cookie;
38-
WINRT_CoIncrementMTAUsage(&cookie);
45+
usage(&cookie);
3946
hr = handler(*(void**)(&name), guid_of<Interface>(), result);
4047
}
4148

Diff for: strings/base_extern.h

-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ extern "C"
1313
int32_t __stdcall WINRT_GetErrorInfo(uint32_t reserved, void** info) noexcept;
1414
int32_t __stdcall WINRT_CoInitializeEx(void*, uint32_t type) noexcept;
1515
void __stdcall WINRT_CoUninitialize() noexcept;
16-
int32_t __stdcall WINRT_CoIncrementMTAUsage(void** cookie) noexcept;
1716

1817
int32_t __stdcall WINRT_CoCreateFreeThreadedMarshaler(void* outer, void** marshaler) noexcept;
1918
int32_t __stdcall WINRT_CoCreateInstance(winrt::guid const& clsid, void* outer, uint32_t context, winrt::guid const& iid, void** object) noexcept;
@@ -96,7 +95,6 @@ WINRT_IMPL_LINK(SetErrorInfo, 8)
9695
WINRT_IMPL_LINK(GetErrorInfo, 8)
9796
WINRT_IMPL_LINK(CoInitializeEx, 8)
9897
WINRT_IMPL_LINK(CoUninitialize, 0)
99-
WINRT_IMPL_LINK(CoIncrementMTAUsage, 4)
10098

10199
WINRT_IMPL_LINK(CoCreateFreeThreadedMarshaler, 8)
102100
WINRT_IMPL_LINK(CoCreateInstance, 20)

0 commit comments

Comments
 (0)