@@ -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