po.targets 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <ItemGroup>
  4. <PropertyPageSchema
  5. Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
  6. <AvailableItemName
  7. Include="msgfmt">
  8. <Targets>_msgfmt</Targets>
  9. </AvailableItemName>
  10. </ItemGroup>
  11. <UsingTask
  12. TaskName="msgfmt"
  13. TaskFactory="XamlTaskFactory"
  14. AssemblyName="Microsoft.Build.Tasks.v4.0">
  15. <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
  16. </UsingTask>
  17. <Target
  18. Name="_msgfmt"
  19. BeforeTargets="$(msgfmtBeforeTargets)"
  20. AfterTargets="$(msgfmtAfterTargets)"
  21. Condition="'@(msgfmt)' != ''"
  22. DependsOnTargets="$(msgfmtDependsOn);ComputemsgfmtOutput"
  23. Outputs="@(msgfmt-&gt;Metadata('Outputs')-&gt;Distinct())"
  24. Inputs="@(msgfmt);%(msgfmt.AdditionalDependencies);$(MSBuildProjectFile)">
  25. <ItemGroup
  26. Condition="'@(SelectedFiles)' != ''">
  27. <msgfmt
  28. Remove="@(msgfmt)"
  29. Condition="'%(Identity)' != '@(SelectedFiles)'" />
  30. </ItemGroup>
  31. <ItemGroup>
  32. <msgfmt_tlog
  33. Include="%(msgfmt.Outputs)"
  34. Condition="'%(msgfmt.Outputs)' != '' and '%(msgfmt.ExcludedFromBuild)' != 'true'">
  35. <Source>@(msgfmt, '|')</Source>
  36. </msgfmt_tlog>
  37. </ItemGroup>
  38. <Message
  39. Importance="High"
  40. Text="%(msgfmt.ExecutionDescription)" />
  41. <WriteLinesToFile
  42. Condition="'@(msgfmt_tlog)' != '' and '%(msgfmt_tlog.ExcludedFromBuild)' != 'true'"
  43. File="$(IntDir)$(ProjectName).write.1.tlog"
  44. Lines="^%(msgfmt_tlog.Source);@(msgfmt_tlog-&gt;'%(Fullpath)')" />
  45. <msgfmt
  46. Condition="'@(msgfmt)' != '' and '%(msgfmt.ExcludedFromBuild)' != 'true'"
  47. CommandLineTemplate="%(msgfmt.CommandLineTemplate)"
  48. Verbose="%(msgfmt.Verbose)"
  49. OutputName="%(msgfmt.OutputName)"
  50. AdditionalOptions="%(msgfmt.AdditionalOptions)"
  51. Inputs="@(msgfmt)" />
  52. </Target>
  53. <PropertyGroup>
  54. <ComputeLinkInputsTargets>
  55. $(ComputeLinkInputsTargets);
  56. ComputemsgfmtOutput;
  57. </ComputeLinkInputsTargets>
  58. <ComputeLibInputsTargets>
  59. $(ComputeLibInputsTargets);
  60. ComputemsgfmtOutput;
  61. </ComputeLibInputsTargets>
  62. </PropertyGroup>
  63. <Target
  64. Name="ComputemsgfmtOutput"
  65. Condition="'@(msgfmt)' != ''">
  66. <ItemGroup>
  67. <msgfmtDirsToMake
  68. Condition="'@(msgfmt)' != '' and '%(msgfmt.ExcludedFromBuild)' != 'true'"
  69. Include="%(msgfmt.Outputs)" />
  70. <Link
  71. Include="%(msgfmtDirsToMake.Identity)"
  72. Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
  73. <Lib
  74. Include="%(msgfmtDirsToMake.Identity)"
  75. Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
  76. <ImpLib
  77. Include="%(msgfmtDirsToMake.Identity)"
  78. Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
  79. </ItemGroup>
  80. <MakeDir
  81. Directories="@(msgfmtDirsToMake-&gt;'%(RootDir)%(Directory)')" />
  82. </Target>
  83. </Project>