|
|
|
<?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>
|
|
|
|
<!-- TargetFrameworkVersion -->
|
|
|
|
<TargetVersion Condition=" '$(TargetVersion)' == '' ">NET40</TargetVersion>
|
|
|
|
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
|
|
|
<TargetFrameworkVersion Condition=" '$(TargetVersion)' == 'NET35' ">v3.5</TargetFrameworkVersion>
|
|
|
|
<TargetFrameworkVersion Condition=" '$(TargetVersion)' == 'NET40' ">v4.0</TargetFrameworkVersion>
|
|
|
|
<!--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)</BuildOutputPackage>
|
|
|
|
|
|
|
|
<BenchmarkArgs>/v2 /fast /formats</BenchmarkArgs>
|
|
|
|
<BenchmarkOutputFile>$(BuildTempDirectory)\..\BenchmarkResults.txt</BenchmarkOutputFile>
|
|
|
|
<BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory>
|
|
|
|
|
|
|
|
<PackageName Condition=" '$(PackageName)' == '' ">$(BuildConfiguration)</PackageName>
|
|
|
|
|
|
|
|
<!--File Paths-->
|
|
|
|
<SolutionFile>$(SourceDirectory)\ProtocolBuffersLibrary.$(TargetVersion).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.$(TargetFrameworkVersion).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\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Test.dll" />
|
|
|
|
<TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.dll" />
|
|
|
|
<TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersMixedLite.Test.dll" />
|
|
|
|
<TestContainer Condition=" '$(TargetVersion)' == '' "
|
|
|
|
Include="$(SourceDirectory)\ProtoGen.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.ProtoGen.Test.dll" />
|
|
|
|
|
|
|
|
<StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Test.xap" />
|
|
|
|
<StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.xap" />
|
|
|
|
<StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLiteMixed.Test.xap" />
|
|
|
|
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffers.Serialization.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(TargetVersion)\$(BuildConfiguration)\Google.ProtocolBuffersLite.Serialization.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtoGen\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoGen.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtoMunge\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoMunge.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtoDump\bin\$(TargetVersion)\$(BuildConfiguration)\ProtoDump.*" />
|
|
|
|
<DynamicPackageItem Include="$(SourceDirectory)\ProtoBench\bin\$(TargetVersion)\$(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>
|