Skip to content

Commit eab5d4b

Browse files
authored
Evaluate ExcludedFromBuild inline (#1051)
1 parent 2f1e651 commit eab5d4b

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

nuget/Microsoft.Windows.CppWinRT.targets

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -190,24 +190,21 @@ Copyright (C) Microsoft Corporation. All rights reserved.
190190
</ItemGroup>
191191
</Target>
192192

193-
<Target Name="CppWinRTGetBuildingMidl"
194-
DependsOnTargets="CppWinRTComputeXamlGeneratedMidlInputs"
195-
Returns="@(_BuildingMidl)">
196-
<ItemGroup>
197-
<_BuildingMidl Include="@(Midl)" Condition="'%(Midl.ExcludedFromBuild)' != 'true'" />
198-
</ItemGroup>
199-
</Target>
200-
201193
<!-- Target used only to evaluate CppWinRTGenerateWindowsMetadata if it doesn't already have a value -->
202194
<Target Name="CppWinRTComputeGenerateWindowsMetadata"
203-
DependsOnTargets="CppWinRTGetBuildingMidl;GetCppWinRTProjectWinMDReferences;$(CppWinRTComputeGenerateWindowsMetadataDependsOn)">
195+
DependsOnTargets="GetCppWinRTProjectWinMDReferences;CppWinRTComputeXamlGeneratedMidlInputs;$(CppWinRTComputeGenerateWindowsMetadataDependsOn)">
196+
197+
<ItemGroup>
198+
<_IncludedIdlForComputeGenerateWindowsMetadata Remove="@(_IncludedIdlForComputeGenerateWindowsMetadata)" />
199+
<_IncludedIdlForComputeGenerateWindowsMetadata Include="@(Midl)" Condition="'%(Midl.ExcludedFromBuild)' != 'true'" />
200+
</ItemGroup>
204201

205202
<PropertyGroup>
206203
<!-- For static libraries, only idl causes a winmd to be generated.
207204
For exe/dll, static libraries that produce a WinMD will be merged,
208205
so they also cause a WinMD to be generated-->
209-
<CppWinRTGenerateWindowsMetadata Condition="'$(ConfigurationType)' != 'StaticLibrary' AND '@(CppWinRTStaticProjectWinMDReferences)@(_BuildingMidl)'!= ''">true</CppWinRTGenerateWindowsMetadata>
210-
<CppWinRTGenerateWindowsMetadata Condition="'$(ConfigurationType)' == 'StaticLibrary' AND '@(_BuildingMidl)'!= ''">true</CppWinRTGenerateWindowsMetadata>
206+
<CppWinRTGenerateWindowsMetadata Condition="'$(ConfigurationType)' != 'StaticLibrary' AND '@(CppWinRTStaticProjectWinMDReferences)@(_IncludedIdlForComputeGenerateWindowsMetadata)'!= ''">true</CppWinRTGenerateWindowsMetadata>
207+
<CppWinRTGenerateWindowsMetadata Condition="'$(ConfigurationType)' == 'StaticLibrary' AND '@(_IncludedIdlForComputeGenerateWindowsMetadata)'!= ''">true</CppWinRTGenerateWindowsMetadata>
211208

212209
<!-- At this point we checked all cases where we do generate a WinMD.
213210
The remaining option is no WinMD. -->
@@ -353,12 +350,12 @@ Copyright (C) Microsoft Corporation. All rights reserved.
353350

354351
<!-- Calculates the input files and metadata directories to be passed to MdMerge -->
355352
<Target Name="GetCppWinRTMdMergeInputs"
356-
DependsOnTargets="CppWinRTGetBuildingMidl;CppWinRTResolveReferences"
353+
DependsOnTargets="CppWinRTResolveReferences"
357354
Returns="@(CppWinRTMdMergeMetadataDirectories);@(CppWinRTMdMergeInputs)">
358355
<ItemGroup>
359356
<_MdMergeInputs Remove="@(_MdMergeInputs)"/>
360-
<_MdMergeInputs Include="@(_BuildingMidl)">
361-
<WinMDPath>%(_BuildingMidl.OutputDirectory)%(_BuildingMidl.MetadataFileName)</WinMDPath>
357+
<_MdMergeInputs Include="@(Midl)" Condition="'%(Midl.ExcludedFromBuild)' != 'true'">
358+
<WinMDPath>%(Midl.OutputDirectory)%(Midl.MetadataFileName)</WinMDPath>
362359
<MdMergeOutputFile>$(CppWinRTProjectWinMD)</MdMergeOutputFile>
363360
</_MdMergeInputs>
364361
<!-- Static libraries don't mdmerge other static libraries.

0 commit comments

Comments
 (0)