Skip to content

Commit 71ca27e

Browse files
committed
Avoid duplicate 'WindowsAppRuntimeAutoInitializer.cpp' compilation
1 parent cf3c710 commit 71ca27e

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

build/NuSpecs/WindowsAppSDK-Nuget-Native.AutoInitializer.targets

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,27 @@
33
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
44

55
<Target Name="WindowsAppRuntimeAutoInitializer">
6+
<PropertyGroup>
7+
<WindowsAppRuntimeAutoInitializerPath>$(MSBuildThisFileDirectory)..\..\include\WindowsAppRuntimeAutoInitializer.cpp</WindowsAppRuntimeAutoInitializerPath>
8+
<WindowsAppRuntimeAutoInitializerDefines />
9+
<WindowsAppRuntimeAutoInitializerDefines Condition="'$(WindowsAppSdkBootstrapInitialize)'=='true'">$(WindowsAppRuntimeAutoInitializerDefines);MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_BOOTSTRAP</WindowsAppRuntimeAutoInitializerDefines>
10+
<WindowsAppRuntimeAutoInitializerDefines Condition="'$(WindowsAppSdkDeploymentManagerInitialize)'=='true'">$(WindowsAppRuntimeAutoInitializerDefines);MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_DEPLOYMENTMANAGER</WindowsAppRuntimeAutoInitializerDefines>
11+
<WindowsAppRuntimeAutoInitializerDefines Condition="'$(WindowsAppSdkUndockedRegFreeWinRTInitialize)'=='true'">$(WindowsAppRuntimeAutoInitializerDefines);MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_UNDOCKEDREGFREEWINRT</WindowsAppRuntimeAutoInitializerDefines>
12+
<WindowsAppRuntimeAutoInitializerDefines Condition="'$(WindowsAppSdkCompatibilityInitialize)'=='true'">$(WindowsAppRuntimeAutoInitializerDefines);MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_COMPATIBILITY</WindowsAppRuntimeAutoInitializerDefines>
13+
</PropertyGroup>
14+
15+
<!--
16+
Add a ClCompile for the 'WindowsAppRuntimeAutoInitializer'. This is done in two steps;
17+
1. Add the ClCompile item with no metadata, so the default metadata is applied.
18+
2. Add a second ClCompile item that uses the %(Identity) metadata to force a 'task batch' with just the one item
19+
we want to modify. This allows us to use "%(PreprocessorDefinitions)" (without causing more task batching) to
20+
append the PreprocessorDefinitions to apply.
21+
-->
622
<ItemGroup>
7-
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\include\WindowsAppRuntimeAutoInitializer.cpp">
23+
<ClCompile Include="$(WindowsAppRuntimeAutoInitializerPath)" />
24+
<ClCompile Condition=" '%(Identity)' == '$(WindowsAppRuntimeAutoInitializerPath)' ">
825
<PrecompiledHeader>NotUsing</PrecompiledHeader>
9-
<PreprocessorDefinitions Condition="'$(WindowsAppSdkBootstrapInitialize)'=='true'">MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_BOOTSTRAP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
10-
<PreprocessorDefinitions Condition="'$(WindowsAppSdkDeploymentManagerInitialize)'=='true'">MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_DEPLOYMENTMANAGER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
11-
<PreprocessorDefinitions Condition="'$(WindowsAppSdkUndockedRegFreeWinRTInitialize)'=='true'">MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_UNDOCKEDREGFREEWINRT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
12-
<PreprocessorDefinitions Condition="'$(WindowsAppSdkCompatibilityInitialize)'=='true'">MICROSOFT_WINDOWSAPPSDK_AUTOINITIALIZE_COMPATIBILITY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
26+
<PreprocessorDefinitions>$(WindowsAppRuntimeAutoInitializerDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
1327
</ClCompile>
1428
</ItemGroup>
1529
</Target>

0 commit comments

Comments
 (0)