[xbuild] Microsoft.Common.targets - import Before/After targets files.
authorAnkit Jain <radical@corewars.org>
Fri, 11 Mar 2011 13:12:57 +0000 (18:42 +0530)
committerAnkit Jain <radical@corewars.org>
Fri, 11 Mar 2011 13:16:20 +0000 (18:46 +0530)
With this, Microsoft.Common.targets will import
$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore\*
at the beginning of the file and
$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter\*
at the end of the file.

So, this would import all files from (eg.):
$prefix/lib/mono/xbuild/4.0/Microsoft.Common.targets/ImportBefore/

This can be disabled by setting the bool properties -
$(ImportByWildcardBeforeMicrosoftCommonTargets) and
$(ImportByWildcardAfterMicrosoftCommonTargets).

mcs/tools/xbuild/xbuild/4.0/Microsoft.Common.targets

index f1195b86ee4895be37b5d9276fdaf1373177c2c9..9e3875e4150a8ee534018d949e5baed37094a19d 100644 (file)
@@ -1,4 +1,11 @@
 <Project DefaultTargets="Build" InitialTargets="_ValidateEssentialProperties" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <ImportByWildcardBeforeMicrosoftCommonTargets Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == ''">true</ImportByWildcardBeforeMicrosoftCommonTargets>
+               <ImportByWildcardAfterMicrosoftCommonTargets Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == ''">true</ImportByWildcardAfterMicrosoftCommonTargets>
+       </PropertyGroup>
+
+       <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore\*"
+               Condition="'$(ImportByWildcardBeforeMicrosoftCommonTargets)' == 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportBefore')"/>
 
        <PropertyGroup>
                <TargetExt Condition="'$(OutputType)' == 'Winexe'">.exe</TargetExt>
                <Delete Files="$(IntermediateOutputPath)$(CleanFile)" TreatErrorsAsWarnings="true" />
        </Target>
 
+       <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter\*"
+               Condition="'$(ImportByWildcardAfterMicrosoftCommonTargets)' == 'true' and Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\$(MSBuildThisFile)\ImportAfter')"/>
 </Project>