build.csproj 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <PropertyGroup>
  4. <ProjectName>Protocol Buffers</ProjectName>
  5. <BuildConfiguration Condition=" '$(BuildConfiguration)' == '' ">Error</BuildConfiguration>
  6. <Platform>Any CPU</Platform>
  7. <!-- BuildToolsVersion -->
  8. <BuildTools>3.5</BuildTools>
  9. <BuildTools Condition=" '$(TargetVersion)' == '4' ">4.0</BuildTools>
  10. <!-- TargetFrameworkVersion -->
  11. <ForcedFrameworkVersion>v2.0</ForcedFrameworkVersion>
  12. <ForcedFrameworkVersion Condition=" '$(TargetVersion)' == '3' ">v3.5</ForcedFrameworkVersion>
  13. <ForcedFrameworkVersion Condition=" '$(TargetVersion)' == '4' ">v4.0</ForcedFrameworkVersion>
  14. <TargetFrameworkVersion>$(ForcedFrameworkVersion)</TargetFrameworkVersion>
  15. <!-- SilverlightVersion -->
  16. <SilverlightVersion>v2.0</SilverlightVersion>
  17. <SilverlightVersion Condition=" '$(TargetVersion)' == '3' ">v3.0</SilverlightVersion>
  18. <SilverlightVersion Condition=" '$(TargetVersion)' == '4' ">v4.0</SilverlightVersion>
  19. <!--Directory Paths-->
  20. <ProjectDirectory>$(MSBuildProjectDirectory)\..</ProjectDirectory>
  21. <SourceDirectory>$(ProjectDirectory)\src</SourceDirectory>
  22. <LibDirectory>$(ProjectDirectory)\lib</LibDirectory>
  23. <ProtosDirectory>$(ProjectDirectory)\protos</ProtosDirectory>
  24. <SourceTempDirectory>$(ProjectDirectory)\build_temp\GeneratedSource</SourceTempDirectory>
  25. <BuildTempDirectory>$(ProjectDirectory)\build_temp\$(BuildConfiguration)$(TargetVersion)</BuildTempDirectory>
  26. <BuildOutputDirectory>$(ProjectDirectory)\build_output</BuildOutputDirectory>
  27. <BuildOutputPackage>$(BuildOutputDirectory)\$(ForcedFrameworkVersion)</BuildOutputPackage>
  28. <BenchmarkArgs>/v2 /fast /formats</BenchmarkArgs>
  29. <BenchmarkOutputFile>$(BuildTempDirectory)\..\BenchmarkResults.txt</BenchmarkOutputFile>
  30. <BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory>
  31. <PackageName Condition=" '$(PackageName)' == '' ">$(BuildConfiguration)</PackageName>
  32. <!--File Paths-->
  33. <SolutionFile>$(SourceDirectory)\ProtocolBuffers.sln</SolutionFile>
  34. <!--Tool Paths-->
  35. <ProtocExePath>$(LibDirectory)\protoc.exe</ProtocExePath>
  36. <ProtogenExePath>$(BuildOutputDirectory)\ProtoGen\protogen.exe</ProtogenExePath>
  37. <ProtoBenchExePath>$(BuildTempDirectory)\ProtoBench.exe</ProtoBenchExePath>
  38. <NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath>
  39. <NUnitExeConfig>$(LibDirectory)\NUnit-config\nunit-console.$(ForcedFrameworkVersion).config</NUnitExeConfig>
  40. <StatLightExePath>$(LibDirectory)\StatLight\tools\StatLight.exe</StatLightExePath>
  41. <ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath>
  42. </PropertyGroup>
  43. <Import Project="Common.targets"/>
  44. <ItemGroup>
  45. <WorkingDirectories Include="$(BuildTempDirectory)" />
  46. <Protos Include="$(ProtosDirectory)\extest\unittest_issues.proto" />
  47. <Protos Include="$(ProtosDirectory)\extest\unittest_extras.proto" />
  48. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_full.proto" />
  49. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_lite.proto" />
  50. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_xmltest.proto" />
  51. <Protos Include="$(ProtosDirectory)\extest\unittest_generic_services.proto" />
  52. <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop.proto" />
  53. <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop_lite.proto" />
  54. <Protos Include="$(ProtosDirectory)\google\protobuf\descriptor.proto" />
  55. <Protos Include="$(ProtosDirectory)\google\protobuf\csharp_options.proto" />
  56. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest.proto" />
  57. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_csharp_options.proto" />
  58. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_custom_options.proto" />
  59. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_embed_optimize_for.proto" />
  60. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_empty.proto" />
  61. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import.proto" />
  62. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import_lite.proto" />
  63. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite.proto" />
  64. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite_imports_nonlite.proto" />
  65. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_mset.proto" />
  66. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_no_generic_services.proto" />
  67. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_optimize_for.proto" />
  68. <Protos Include="$(ProtosDirectory)\google\test\google_size.proto" />
  69. <Protos Include="$(ProtosDirectory)\google\test\google_speed.proto" />
  70. <!-- Main protos -->
  71. <GeneratedSource Include="$(SourceTempDirectory)\CSharpOptions.cs">
  72. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
  73. </GeneratedSource>
  74. <GeneratedSource Include="$(SourceTempDirectory)\DescriptorProtoFile.cs">
  75. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
  76. </GeneratedSource>
  77. <!-- Address book sample -->
  78. <GeneratedSource Include="$(SourceTempDirectory)\AddressBookProtos.cs">
  79. <TargetDirectory>$(SourceDirectory)\AddressBook</TargetDirectory>
  80. </GeneratedSource>
  81. <!-- Unit test -->
  82. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasProtoFile.cs">
  83. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  84. </GeneratedSource>
  85. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasIssuesProtoFile.cs">
  86. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  87. </GeneratedSource>
  88. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestXmlSerializerTestProtoFile.cs">
  89. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  90. </GeneratedSource>
  91. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCSharpOptionsProtoFile.cs">
  92. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  93. </GeneratedSource>
  94. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCustomOptionsProtoFile.cs">
  95. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  96. </GeneratedSource>
  97. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmbedOptimizeForProtoFile.cs">
  98. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  99. </GeneratedSource>
  100. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmptyProtoFile.cs">
  101. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  102. </GeneratedSource>
  103. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
  104. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  105. </GeneratedSource>
  106. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
  107. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  108. </GeneratedSource>
  109. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestMessageSetProtoFile.cs">
  110. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  111. </GeneratedSource>
  112. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestNoGenericServicesProtoFile.cs">
  113. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  114. </GeneratedSource>
  115. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestOptimizeForProtoFile.cs">
  116. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  117. </GeneratedSource>
  118. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
  119. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  120. </GeneratedSource>
  121. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInterop.cs">
  122. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  123. </GeneratedSource>
  124. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInteropLite.cs">
  125. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  126. </GeneratedSource>
  127. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGenericServices.cs">
  128. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  129. </GeneratedSource>
  130. <!-- Lite unit test -->
  131. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasFullProtoFile.cs">
  132. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  133. </GeneratedSource>
  134. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasLiteProtoFile.cs">
  135. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  136. </GeneratedSource>
  137. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
  138. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  139. </GeneratedSource>
  140. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
  141. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  142. </GeneratedSource>
  143. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteImportNonLiteProtoFile.cs">
  144. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  145. </GeneratedSource>
  146. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteProtoFile.cs">
  147. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  148. </GeneratedSource>
  149. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
  150. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  151. </GeneratedSource>
  152. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSizeProtoFile.cs">
  153. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  154. </GeneratedSource>
  155. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSpeedProtoFile.cs">
  156. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  157. </GeneratedSource>
  158. <TestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Test.dll" />
  159. <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.dll" />
  160. <TestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersMixedLite.Test.dll" />
  161. <TestContainer Include="$(SourceDirectory)\ProtoGen.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.ProtoGen.Test.dll" />
  162. <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffers.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Test.xap" />
  163. <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Test.xap" />
  164. <StatLightTestContainer Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin\$(BuildConfiguration)\Google.ProtocolBuffersLiteMixed.Test.xap" />
  165. <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffers.*" />
  166. <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.*" />
  167. <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(BuildConfiguration)\Google.ProtocolBuffers.Serialization.*" />
  168. <DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.Serialization.*" />
  169. <DynamicPackageItem Include="$(SourceDirectory)\ProtoGen\bin\$(BuildConfiguration)\ProtoGen.*" />
  170. <DynamicPackageItem Include="$(SourceDirectory)\ProtoMunge\bin\$(BuildConfiguration)\ProtoMunge.*" />
  171. <DynamicPackageItem Include="$(SourceDirectory)\ProtoDump\bin\$(BuildConfiguration)\ProtoDump.*" />
  172. <DynamicPackageItem Include="$(SourceDirectory)\ProtoBench\bin\$(BuildConfiguration)\ProtoBench.*" />
  173. <StaticPackageItem Include="$(ProjectDirectory)\CHANGES.txt" />
  174. <StaticPackageItem Include="$(ProjectDirectory)\license.txt" />
  175. <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\descriptor.proto">
  176. <TargetDirectory>\protos\google\protobuf</TargetDirectory>
  177. </StaticPackageItem>
  178. <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\csharp_options.proto">
  179. <TargetDirectory>\protos\google\protobuf</TargetDirectory>
  180. </StaticPackageItem>
  181. <StaticPackageItem Include="$(ProjectDirectory)\protos\tutorial\addressbook.proto">
  182. <TargetDirectory>\protos\tutorial</TargetDirectory>
  183. </StaticPackageItem>
  184. <StaticPackageItem Include="$(LibDirectory)\Protoc*">
  185. <TargetDirectory>\Protoc</TargetDirectory>
  186. </StaticPackageItem>
  187. </ItemGroup>
  188. <!-- targets -->
  189. <Target Name="Clean" DependsOnTargets="_Clean" />
  190. <Target Name="Build" DependsOnTargets="GenerateSource;_Compile;_Test" />
  191. <Target Name="Test" DependsOnTargets="_Test" />
  192. <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
  193. <Target Name="GenerateSource" DependsOnTargets="_BuildProtoGen;_GenerateSource;_CopyGeneratedSource" />
  194. <Target Name="BuildPackage" DependsOnTargets="PrepareOutputDirectory;PreparePackageComponent;GeneratePackage" />
  195. <Target Name="PrepareOutputDirectory" DependsOnTargets="_CleanOutputDirectory" />
  196. <Target Name="PreparePackageComponent" DependsOnTargets="_PreparePackageComponent" />
  197. <Target Name="GeneratePackage" DependsOnTargets="_GeneratePackage" />
  198. <Target Name="RunBenchmarks" DependsOnTargets="Requires20;RequiresRelease;Rebuild;_RunBenchmarks" />
  199. <Target Name="FullBuild" DependsOnTargets="_FullBuild" />
  200. </Project>