<?xml version="1.0" encoding="utf-8"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> <AvailableItemName Include="LolFxCompile"> <Targets>LolFxCompile</Targets> </AvailableItemName> </ItemGroup> <PropertyGroup> <ComputeCompileInputsTargets> $(ComputeCompileInputsTargets); ComputeLolFxCompileOutput; </ComputeCompileInputsTargets> </PropertyGroup> <UsingTask TaskName="LolFxCompile" TaskFactory="XamlTaskFactory" AssemblyName="Microsoft.Build.Tasks.v4.0"> <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> </UsingTask> <Target Name="LolFxCompile" BeforeTargets="$(LolFxCompileBeforeTargets)" AfterTargets="$(LolFxCompileAfterTargets)" Condition="'@(LolFxCompile)' != ''" DependsOnTargets="$(LolFxCompileDependsOn);ComputeLolFxCompileOutput" Outputs="@(LolFxCompile->Metadata('CompileOut')->Distinct())" Inputs="@(LolFxCompile);%(LolFxCompile.AdditionalDependencies);$(MSBuildProjectFile)"> <ItemGroup Condition="'@(SelectedFiles)' != ''"> <LolFxCompile Remove="@(LolFxCompile)" Condition="'%(Identity)' != '@(SelectedFiles)'" /> </ItemGroup> <ItemGroup> <LolFxCompile_tlog Include="%(LolFxCompile.Outputs)" Condition="'%(LolFxCompile.Outputs)' != '' and '%(LolFxCompile.ExcludedFromBuild)' != 'true'"> <Source>@(LolFxCompile, '|')</Source> </LolFxCompile_tlog> </ItemGroup> <Message Importance="High" Text="%(LolFxCompile.ExecutionDescription)" /> <WriteLinesToFile Condition="'@(LolFxCompile_tlog)' != '' and '%(LolFxCompile_tlog.ExcludedFromBuild)' != 'true'" File="$(IntDir)$(ProjectName).write.1.tlog" Lines="^%(LolFxCompile_tlog.Source);@(LolFxCompile_tlog->'%(Fullpath)')" /> <ItemGroup> <LolFxCompile> </LolFxCompile> </ItemGroup> <LolFxCompile Condition="'@(LolFxCompile)' != '' and '%(LolFxCompile.ExcludedFromBuild)' != 'true'" CommandLineTemplate="%(LolFxCompile.CommandLineTemplate)" Outputs="%(LolFxCompile.Outputs)" IntDir="$(IntDir)" FileName="%(FileName)" Inputs="@(LolFxCompile)" /> </Target> <Target Name="ComputeLolFxCompileOutput" Condition="'@(LolFxCompile)' != ''"> <ItemGroup> <ClCompile Include="@(LolFxCompile->Metadata('CompileOut')->Distinct()->ClearMetadata())" Condition="'%(LolFxCompile.ExcludedFromBuild)' != 'true'"> <CompileAs>CompileAsC</CompileAs> </ClCompile> <ClCompile Include="%(LolFxCompile.Outputs)" /> </ItemGroup> <ItemGroup> <LolFxCompile> <CompileOut>$(IntDir)\%(FileName).lolfx.cpp</CompileOut> </LolFxCompile> </ItemGroup> </Target> </Project>