/mordor/protoc.targets
MSBuild | 77 lines | 77 code | 0 blank | 0 comment | 0 complexity | f3f26e25a36d55b1800ded66ad3a725d MD5 | raw file
Possible License(s): BSD-3-Clause
- <?xml version="1.0" encoding="utf-8"?>
- <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
- <AvailableItemName
- Include="Protoc">
- <Targets>_Protoc</Targets>
- </AvailableItemName>
- </ItemGroup>
- <UsingTask
- TaskName="Protoc"
- TaskFactory="XamlTaskFactory"
- AssemblyName="Microsoft.Build.Tasks.v4.0">
- <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
- </UsingTask>
- <Target
- Name="_Protoc"
- BeforeTargets="$(ProtocBeforeTargets)"
- AfterTargets="$(ProtocAfterTargets)"
- Condition="'@(Protoc)' != ''"
- DependsOnTargets="$(ProtocDependsOn);ComputeProtocOutput"
- Outputs="%(Protoc.Outputs)"
- Inputs="%(Protoc.Identity);%(Protoc.AdditionalDependencies);$(MSBuildProjectFile)">
- <ItemGroup
- Condition="'@(SelectedFiles)' != ''">
- <Protoc
- Remove="@(Protoc)"
- Condition="'%(Identity)' != '@(SelectedFiles)'" />
- </ItemGroup>
- <ItemGroup>
- <Protoc_tlog
- Include="%(Protoc.Outputs)"
- Condition="'%(Protoc.Outputs)' != '' and '%(Protoc.ExcludedFromBuild)' != 'true'">
- <Source>@(Protoc, '|')</Source>
- </Protoc_tlog>
- </ItemGroup>
- <Message
- Importance="High"
- Text="%(Protoc.ExecutionDescription)" />
- <WriteLinesToFile
- Condition="'@(Protoc_tlog)' != '' and '%(Protoc_tlog.ExcludedFromBuild)' != 'true'"
- File="$(IntDir)$(ProjectName).write.1.tlog"
- Lines="^%(Protoc_tlog.Source);@(Protoc_tlog->'%(Fullpath)')" />
- <Protoc
- Condition="'@(Protoc)' != '' and '%(Protoc.ExcludedFromBuild)' != 'true'"
- CommandLineTemplate="%(Protoc.CommandLineTemplate)"
- IncludePaths="%(Protoc.IncludePaths)"
- CppOutDir="%(Protoc.CppOutDir)"
- JavaOutDir="%(Protoc.JavaOutDir)"
- PythonOutDir="%(Protoc.PythonOutDir)"
- AdditionalOptions="%(Protoc.AdditionalOptions)"
- Inputs="%(Protoc.Identity)" />
- </Target>
- <PropertyGroup>
- <ComputeCompileInputsTargets>
- $(ComputeCompileInputsTargets);
- ComputeProtocOutput;
- </ComputeCompileInputsTargets>
- </PropertyGroup>
- <Target
- Name="ComputeProtocOutput"
- Condition="'@(Protoc)' != ''">
- <ItemGroup>
- <ProtocDirsToMake
- Condition="'@(Protoc)' != '' and '%(Protoc.ExcludedFromBuild)' != 'true'"
- Include="%(Protoc.Outputs)" />
- <ClCompile
- Include="%(ProtocDirsToMake.Identity)"
- Condition="'%(Extension)'=='.cc'">
- <DisableSpecificWarnings>4267;%(ClCompile.DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- </ItemGroup>
- <MakeDir
- Directories="@(ProtocDirsToMake->'%(RootDir)%(Directory)')" />
- </Target>
- </Project>