You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Lol.Fx.targets 2.8 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <ItemGroup>
  4. <PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
  5. <AvailableItemName Include="LolFxCompile">
  6. <Targets>LolFxCompile</Targets>
  7. </AvailableItemName>
  8. </ItemGroup>
  9. <PropertyGroup>
  10. <ComputeCompileInputsTargets>
  11. $(ComputeCompileInputsTargets);
  12. ComputeLolFxCompileOutput;
  13. </ComputeCompileInputsTargets>
  14. </PropertyGroup>
  15. <UsingTask
  16. TaskName="LolFxCompile"
  17. TaskFactory="XamlTaskFactory"
  18. AssemblyName="Microsoft.Build.Tasks.v4.0">
  19. <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
  20. </UsingTask>
  21. <Target
  22. Name="LolFxCompile"
  23. BeforeTargets="$(LolFxCompileBeforeTargets)"
  24. AfterTargets="$(LolFxCompileAfterTargets)"
  25. Condition="'@(LolFxCompile)' != ''"
  26. DependsOnTargets="$(LolFxCompileDependsOn);ComputeLolFxCompileOutput"
  27. Outputs="@(LolFxCompile-&gt;Metadata('CompileOut')-&gt;Distinct())"
  28. Inputs="@(LolFxCompile);%(LolFxCompile.AdditionalDependencies);$(MSBuildProjectFile)">
  29. <ItemGroup
  30. Condition="'@(SelectedFiles)' != ''">
  31. <LolFxCompile
  32. Remove="@(LolFxCompile)"
  33. Condition="'%(Identity)' != '@(SelectedFiles)'" />
  34. </ItemGroup>
  35. <ItemGroup>
  36. <LolFxCompile_tlog
  37. Include="%(LolFxCompile.Outputs)"
  38. Condition="'%(LolFxCompile.Outputs)' != '' and '%(LolFxCompile.ExcludedFromBuild)' != 'true'">
  39. <Source>@(LolFxCompile, '|')</Source>
  40. </LolFxCompile_tlog>
  41. </ItemGroup>
  42. <Message
  43. Importance="High"
  44. Text="%(LolFxCompile.ExecutionDescription)" />
  45. <WriteLinesToFile
  46. Condition="'@(LolFxCompile_tlog)' != '' and '%(LolFxCompile_tlog.ExcludedFromBuild)' != 'true'"
  47. File="$(IntDir)$(ProjectName).write.1.tlog"
  48. Lines="^%(LolFxCompile_tlog.Source);@(LolFxCompile_tlog-&gt;'%(Fullpath)')" />
  49. <ItemGroup>
  50. <LolFxCompile>
  51. </LolFxCompile>
  52. </ItemGroup>
  53. <LolFxCompile
  54. Condition="'@(LolFxCompile)' != '' and '%(LolFxCompile.ExcludedFromBuild)' != 'true'"
  55. CommandLineTemplate="%(LolFxCompile.CommandLineTemplate)"
  56. Outputs="%(LolFxCompile.Outputs)"
  57. IntDir="$(IntDir)"
  58. FileName="%(FileName)"
  59. Inputs="@(LolFxCompile)" />
  60. </Target>
  61. <Target Name="ComputeLolFxCompileOutput" Condition="'@(LolFxCompile)' != ''">
  62. <ItemGroup>
  63. <ClCompile Include="@(LolFxCompile->Metadata('CompileOut')->Distinct()->ClearMetadata())" Condition="'%(LolFxCompile.ExcludedFromBuild)' != 'true'">
  64. <CompileAs>CompileAsC</CompileAs>
  65. </ClCompile>
  66. <ClCompile Include="%(LolFxCompile.Outputs)" />
  67. </ItemGroup>
  68. <ItemGroup>
  69. <LolFxCompile>
  70. <CompileOut>$(IntDir)\%(FileName).lolfx.cpp</CompileOut>
  71. </LolFxCompile>
  72. </ItemGroup>
  73. </Target>
  74. </Project>