aboutsummaryrefslogblamecommitdiff
path: root/build/build.csproj
blob: 48a4950a181ec536d0383a912c5575f99edde04d (plain) (tree)
1
2
3
4
5
6
                                      
                                                                                        
 

                                               
                                                                                              












                                                                                                 
                          
                                                                      


                                                                 







                                                                                                                 
                                                                                       


                                                                                         
                     
                                                                       

                     
                                                             
                                                                                    
                                                                               


                                                                                                                

                                                               
 
                                    
 

                                                          
 
                                                                        
                                                                        

                                                                             
                                                                                
                                                                                  
                                                                             
                                                                                  








                                                                                             

                                                                                               


                                                                                              

                                                                          
                                                                      
 
                        
                                                                       

                                                                                            
                                                                             

                                                                                            
        
                                
                                                                           

                                                                       
                      
                                                                                 

                                                                                           
                                                                                       

                                                                                           
                                                                                            

                                                                                           
                                                                                        

                                                                                           
                                                                                        

                                                                                           
                                                                                           

                                                                                           
                                                                                

                                                                                           
                                                                                     

                                                                                           
                                                                                 

                                                                                           
                                                                                     

                                                                                           
                                                                                            

                                                                                           
                                                                                      

                                                                                           
                                                                           

                                                                                           
                                                                            

                                                                                           
                                                                                

                                                                                               
                                                                                 

                                                                                           
                           
                                                                                     

                                                                                               
                                                                                     

                                                                                               
                                                                                     

                                                                                               
                                                                                 

                                                                                               
                                                                                            

                                                                                               
                                                                               

                                                                                               
                                                                           

                                                                                               
                                                                                     

                                                                                           
                                                                                      


                                                                                           



                                                                                                                                              
 



                                                                                                                                                       

                                                                                                                              

                                                                                                                                                          



                                                                                                         
 
                                                                   
                                                                   







                                                                                                 





                                                         
 

                                                   
                                                                          
                                                 
                                                          
                                                                                                         
                                                                                                                  


                                                                                       


                                                                                                      
          
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <ProjectName>Protocol Buffers</ProjectName>
    <BuildConfiguration Condition=" '$(BuildConfiguration)' == '' ">Error</BuildConfiguration>
    <Platform>Any CPU</Platform>
    <!-- BuildToolsVersion -->
    <BuildTools>3.5</BuildTools>
    <BuildTools Condition=" '$(TargetVersion)' == '4' ">4.0</BuildTools>
    <!-- TargetFrameworkVersion -->
    <ForcedFrameworkVersion>v2.0</ForcedFrameworkVersion>
    <ForcedFrameworkVersion Condition=" '$(TargetVersion)' == '3' ">v3.5</ForcedFrameworkVersion>
    <ForcedFrameworkVersion Condition=" '$(TargetVersion)' == '4' ">v4.0</ForcedFrameworkVersion>
    <TargetFrameworkVersion>$(ForcedFrameworkVersion)</TargetFrameworkVersion>
    <!-- SilverlightVersion -->
    <SilverlightVersion>v2.0</SilverlightVersion>
    <SilverlightVersion Condition=" '$(TargetVersion)' == '3' ">v3.0</SilverlightVersion>
    <SilverlightVersion Condition=" '$(TargetVersion)' == '4' ">v4.0</SilverlightVersion>
    <!--Directory Paths-->
    <ProjectDirectory>$(MSBuildProjectDirectory)\..</ProjectDirectory>
    <SourceDirectory>$(ProjectDirectory)\src</SourceDirectory>
    <LibDirectory>$(ProjectDirectory)\lib</LibDirectory>
    <ProtosDirectory>$(ProjectDirectory)\protos</ProtosDirectory>

    <SourceTempDirectory>$(ProjectDirectory)\build_temp\GeneratedSource</SourceTempDirectory>
    <BuildTempDirectory>$(ProjectDirectory)\build_temp\$(BuildConfiguration)$(TargetVersion)</BuildTempDirectory>
    <BuildOutputDirectory>$(ProjectDirectory)\build_output</BuildOutputDirectory>
    <BuildOutputPackage>$(BuildOutputDirectory)\$(ForcedFrameworkVersion)</BuildOutputPackage>

    <BenchmarkArgs>/v2 /fast /formats</BenchmarkArgs>
    <BenchmarkOutputFile>$(BuildTempDirectory)\..\BenchmarkResults.txt</BenchmarkOutputFile>
    <BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory>

    <PackageName Condition=" '$(PackageName)' == '' ">$(BuildConfiguration)</PackageName>
    
    <!--File Paths-->
    <SolutionFile>$(SourceDirectory)\ProtocolBuffers.sln</SolutionFile>

    <!--Tool Paths-->
    <ProtocExePath>$(LibDirectory)\protoc.exe</ProtocExePath>
    <ProtogenExePath>$(BuildOutputDirectory)\ProtoGen\protogen.exe</ProtogenExePath>
    <ProtoBenchExePath>$(BuildTempDirectory)\ProtoBench.exe</ProtoBenchExePath>
    <NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath>
    <NUnitExeConfig>$(LibDirectory)\NUnit-config\nunit-console.$(ForcedFrameworkVersion).config</NUnitExeConfig>
    <StatLightExePath>$(LibDirectory)\StatLight\tools\StatLight.exe</StatLightExePath>
    <ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath>
  </PropertyGroup>

  <Import Project="Common.targets"/>

  <ItemGroup>
    <WorkingDirectories Include="$(BuildTempDirectory)" />

    <Protos Include="$(ProtosDirectory)\extest\unittest_issues.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_extras.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_extras_full.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_extras_lite.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_extras_xmltest.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_generic_services.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop.proto" />
    <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop_lite.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\descriptor.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\csharp_options.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_csharp_options.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_custom_options.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_embed_optimize_for.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_empty.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import_lite.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite_imports_nonlite.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_mset.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_no_generic_services.proto" />
    <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_optimize_for.proto" />
    <Protos Include="$(ProtosDirectory)\google\test\google_size.proto" />
    <Protos Include="$(ProtosDirectory)\google\test\google_speed.proto" />
    <Protos Include="$(ProtosDirectory)\tutorial\addressbook.proto" />

    <!-- Main protos -->
    <GeneratedSource Include="$(SourceTempDirectory)\CSharpOptions.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\DescriptorProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
    </GeneratedSource>
        
    <!-- Address book sample -->
    <GeneratedSource Include="$(SourceTempDirectory)\AddressBookProtos.cs">
      <TargetDirectory>$(SourceDirectory)\AddressBook</TargetDirectory>
    </GeneratedSource>
    <!-- Unit test -->
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasIssuesProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestXmlSerializerTestProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCSharpOptionsProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCustomOptionsProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmbedOptimizeForProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmptyProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>  
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestMessageSetProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestNoGenericServicesProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestOptimizeForProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInterop.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInteropLite.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGenericServices.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <!-- Lite unit test -->
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasFullProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasLiteProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteImportNonLiteProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSizeProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>
    <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSpeedProtoFile.cs">
      <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
    </GeneratedSource>

    <TestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Test.dll" />
    <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.dll" />
    <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersMixedLite.Test.dll" />
    <TestContainer Include="$(SourceDirectory)\ProtoGen.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.ProtoGen.Test.dll" />

    <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Test.xap" />
    <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.xap" />
    <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLiteMixed.Test.xap" />

    <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffers.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Serialization.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Serialization.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtoGen\bin\$(BuildConfiguration)\ProtoGen.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtoMunge\bin\$(BuildConfiguration)\ProtoMunge.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtoDump\bin\$(BuildConfiguration)\ProtoDump.*" />
    <DynamicPackageItem Include="$(SourceDirectory)\ProtoBench\bin\$(BuildConfiguration)\ProtoBench.*" />

    <StaticPackageItem Include="$(ProjectDirectory)\CHANGES.txt" />
    <StaticPackageItem Include="$(ProjectDirectory)\license.txt" />
    <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\descriptor.proto">
      <TargetDirectory>\protos\google\protobuf</TargetDirectory>
    </StaticPackageItem>
    <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\csharp_options.proto">
      <TargetDirectory>\protos\google\protobuf</TargetDirectory>
    </StaticPackageItem>
    <StaticPackageItem Include="$(ProjectDirectory)\protos\tutorial\addressbook.proto">
      <TargetDirectory>\protos\tutorial</TargetDirectory>
    </StaticPackageItem>
    <StaticPackageItem Include="$(LibDirectory)\Protoc*">
      <TargetDirectory>\Protoc</TargetDirectory>
    </StaticPackageItem>
    
  </ItemGroup>

  <!-- targets -->
  <Target Name="Clean" DependsOnTargets="_Clean" />
  <Target Name="Build" DependsOnTargets="GenerateSource;_Compile;_Test" />
  <Target Name="Test" DependsOnTargets="_Test" />
  <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
  <Target Name="GenerateSource" DependsOnTargets="_BuildProtoGen;_GenerateSource;_CopyGeneratedSource" />
  <Target Name="BuildPackage" DependsOnTargets="PrepareOutputDirectory;PreparePackageComponent;GeneratePackage" />
  <Target Name="PrepareOutputDirectory" DependsOnTargets="_CleanOutputDirectory" />
  <Target Name="PreparePackageComponent" DependsOnTargets="_PreparePackageComponent" />
  <Target Name="GeneratePackage" DependsOnTargets="_GeneratePackage" />
  <Target Name="RunBenchmarks" DependsOnTargets="Requires20;RequiresRelease;Rebuild;_RunBenchmarks" />
  <Target Name="FullBuild" DependsOnTargets="_FullBuild" />

</Project>