build.csproj 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <!-- build targets -->
  4. <Target Name="Clean" DependsOnTargets="_CleanAll" />
  5. <Target Name="BuildTools" DependsOnTargets="_BuildTools" />
  6. <Target Name="GenerateProjects" DependsOnTargets="_GenerateProjects" />
  7. <Target Name="GenerateSource" DependsOnTargets="_GenerateSource;_CopyGeneratedSource" />
  8. <Target Name="RebuildSource" DependsOnTargets="Clean;BuildTools;GenerateSource" />
  9. <Target Name="Build" DependsOnTargets="GenerateProjects;BuildTools;GenerateSource;_CompileAll" />
  10. <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
  11. <Target Name="GeneratePackage" DependsOnTargets="_PackageAll;_GeneratePackage" />
  12. <Target Name="FullBuild" DependsOnTargets="Rebuild;GeneratePackage" />
  13. <!-- misc targets -->
  14. <Target Name="RunBenchmarks" DependsOnTargets="_CleanAll;_BuildTools;_RunBenchmarks" />
  15. <PropertyGroup>
  16. <ProjectName>Protocol Buffers</ProjectName>
  17. <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
  18. <Platform Condition=" '$(Platform)' == '' ">Any CPU</Platform>
  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</BuildTempDirectory>
  26. <BuildOutputDirectory>$(ProjectDirectory)\build_output</BuildOutputDirectory>
  27. <BuildOutputPackage>$(BuildOutputDirectory)</BuildOutputPackage>
  28. <BenchmarkArgs>/v2 /fast /formats</BenchmarkArgs>
  29. <BenchmarkOutputFile>$(BuildTempDirectory)\..\BenchmarkResults.txt</BenchmarkOutputFile>
  30. <BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory>
  31. <PackageName Condition=" '$(PackageName)' == '' ">$(Configuration)</PackageName>
  32. <!--Tool Paths-->
  33. <ProtocExePath>$(BuildOutputDirectory)\tools\protoc.exe</ProtocExePath>
  34. <ProtogenExePath>$(BuildOutputDirectory)\tools\protogen.exe</ProtogenExePath>
  35. <NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath>
  36. <CsProjectProjector>$(LibDirectory)\CsProjectProjector\CsProjectProjector.exe</CsProjectProjector>
  37. <ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath>
  38. </PropertyGroup>
  39. <Import Project="Common.targets"/>
  40. <!-- Proto Files -->
  41. <ItemGroup>
  42. <Protos Include="$(ProtosDirectory)\extest\unittest_issues.proto" />
  43. <Protos Include="$(ProtosDirectory)\extest\unittest_extras.proto" />
  44. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_full.proto" />
  45. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_lite.proto" />
  46. <Protos Include="$(ProtosDirectory)\extest\unittest_extras_xmltest.proto" />
  47. <Protos Include="$(ProtosDirectory)\extest\unittest_generic_services.proto" />
  48. <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop.proto" />
  49. <Protos Include="$(ProtosDirectory)\extest\unittest_rpc_interop_lite.proto" />
  50. <Protos Include="$(ProtosDirectory)\google\protobuf\descriptor.proto" />
  51. <Protos Include="$(ProtosDirectory)\google\protobuf\csharp_options.proto" />
  52. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest.proto" />
  53. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_csharp_options.proto" />
  54. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_custom_options.proto" />
  55. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_embed_optimize_for.proto" />
  56. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_empty.proto" />
  57. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import.proto" />
  58. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_import_lite.proto" />
  59. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite.proto" />
  60. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_lite_imports_nonlite.proto" />
  61. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_mset.proto" />
  62. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_no_generic_services.proto" />
  63. <Protos Include="$(ProtosDirectory)\google\protobuf\unittest_optimize_for.proto" />
  64. <Protos Include="$(ProtosDirectory)\google\test\google_size.proto" />
  65. <Protos Include="$(ProtosDirectory)\google\test\google_speed.proto" />
  66. <Protos Include="$(ProtosDirectory)\tutorial\addressbook.proto" />
  67. <!-- for benchmark -->
  68. <Protos Include="$(ProtosDirectory)\benchmarks\google_size.proto" />
  69. <Protos Include="$(ProtosDirectory)\benchmarks\google_speed.proto" />
  70. </ItemGroup>
  71. <!-- Generated Source -->
  72. <ItemGroup>
  73. <!-- Main protos -->
  74. <GeneratedSource Include="$(SourceTempDirectory)\CSharpOptions.cs">
  75. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
  76. </GeneratedSource>
  77. <GeneratedSource Include="$(SourceTempDirectory)\DescriptorProtoFile.cs">
  78. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
  79. </GeneratedSource>
  80. <!-- Address book sample -->
  81. <GeneratedSource Include="$(SourceTempDirectory)\AddressBookProtos.cs">
  82. <TargetDirectory>$(SourceDirectory)\AddressBook</TargetDirectory>
  83. </GeneratedSource>
  84. <!-- Unit test -->
  85. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasProtoFile.cs">
  86. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  87. </GeneratedSource>
  88. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasIssuesProtoFile.cs">
  89. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  90. </GeneratedSource>
  91. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestXmlSerializerTestProtoFile.cs">
  92. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  93. </GeneratedSource>
  94. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCSharpOptionsProtoFile.cs">
  95. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  96. </GeneratedSource>
  97. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestCustomOptionsProtoFile.cs">
  98. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  99. </GeneratedSource>
  100. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmbedOptimizeForProtoFile.cs">
  101. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  102. </GeneratedSource>
  103. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestEmptyProtoFile.cs">
  104. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  105. </GeneratedSource>
  106. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
  107. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  108. </GeneratedSource>
  109. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
  110. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  111. </GeneratedSource>
  112. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestMessageSetProtoFile.cs">
  113. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  114. </GeneratedSource>
  115. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestNoGenericServicesProtoFile.cs">
  116. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  117. </GeneratedSource>
  118. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestOptimizeForProtoFile.cs">
  119. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  120. </GeneratedSource>
  121. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
  122. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  123. </GeneratedSource>
  124. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInterop.cs">
  125. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  126. </GeneratedSource>
  127. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestRpcInteropLite.cs">
  128. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  129. </GeneratedSource>
  130. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGenericServices.cs">
  131. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  132. </GeneratedSource>
  133. <!-- Lite unit test -->
  134. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasFullProtoFile.cs">
  135. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  136. </GeneratedSource>
  137. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestExtrasLiteProtoFile.cs">
  138. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  139. </GeneratedSource>
  140. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportLiteProtoFile.cs">
  141. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  142. </GeneratedSource>
  143. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
  144. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  145. </GeneratedSource>
  146. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteImportNonLiteProtoFile.cs">
  147. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  148. </GeneratedSource>
  149. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestLiteProtoFile.cs">
  150. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  151. </GeneratedSource>
  152. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
  153. <TargetDirectory>$(SourceDirectory)\ProtocolBuffersLite.Test\TestProtos</TargetDirectory>
  154. </GeneratedSource>
  155. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSizeProtoFile.cs">
  156. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  157. </GeneratedSource>
  158. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestGoogleSpeedProtoFile.cs">
  159. <TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
  160. </GeneratedSource>
  161. <GeneratedSource Include="$(SourceTempDirectory)\GoogleSizeProtoFile.cs">
  162. <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory>
  163. </GeneratedSource>
  164. <GeneratedSource Include="$(SourceTempDirectory)\GoogleSpeedProtoFile.cs">
  165. <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory>
  166. </GeneratedSource>
  167. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestImportProtoFile.cs">
  168. <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory>
  169. </GeneratedSource>
  170. <GeneratedSource Include="$(SourceTempDirectory)\UnitTestProtoFile.cs">
  171. <TargetDirectory>$(SourceDirectory)\ProtoBench\TestProtos</TargetDirectory>
  172. </GeneratedSource>
  173. </ItemGroup>
  174. <!-- Package Items -->
  175. <ItemGroup>
  176. <StaticPackageItem Include="$(ProjectDirectory)\CHANGES.txt" />
  177. <StaticPackageItem Include="$(ProjectDirectory)\license.txt" />
  178. <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\descriptor.proto">
  179. <TargetDirectory>\protos\google\protobuf</TargetDirectory>
  180. </StaticPackageItem>
  181. <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\compiler\plugin.proto">
  182. <TargetDirectory>\protos\google\protobuf\compiler</TargetDirectory>
  183. </StaticPackageItem>
  184. <StaticPackageItem Include="$(ProjectDirectory)\protos\google\protobuf\csharp_options.proto">
  185. <TargetDirectory>\protos\google\protobuf</TargetDirectory>
  186. </StaticPackageItem>
  187. <StaticPackageItem Include="$(ProjectDirectory)\protos\tutorial\addressbook.proto">
  188. <TargetDirectory>\protos\tutorial</TargetDirectory>
  189. </StaticPackageItem>
  190. </ItemGroup>
  191. <!-- Tools -->
  192. <ItemGroup>
  193. <ToolsTestContainer Include="$(SourceDirectory)\ProtoGen.Test\bin\NET35\Release\Google.ProtocolBuffers.ProtoGen.Test.dll" />
  194. <ToolsOutputItem Include="$(SourceDirectory)\ProtocolBuffers\bin\NET35\Release\Google.ProtocolBuffers.dll" />
  195. <ToolsOutputItem Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin\NET35\Release\Google.ProtocolBuffers.Serialization.dll" />
  196. <ToolsOutputItem Include="$(SourceDirectory)\ProtoGen\bin\NET35\Release\ProtoGen.exe" />
  197. <ToolsOutputItem Include="$(SourceDirectory)\ProtoGen\bin\NET35\Release\ProtoGen.exe.config" />
  198. <ToolsOutputItem Include="$(SourceDirectory)\ProtoMunge\bin\NET35\Release\ProtoMunge.exe" />
  199. <ToolsOutputItem Include="$(SourceDirectory)\ProtoDump\bin\NET35\Release\ProtoDump.exe" />
  200. <ToolsOutputItem Include="$(SourceDirectory)\ProtoBench\bin\NET35\Release\ProtoBench.exe" />
  201. <ToolsOutputItem Include="$(LibDirectory)\protoc.exe" />
  202. <ToolsOutputItem Include="$(LibDirectory)\protoc-license.txt" />
  203. </ItemGroup>
  204. <!-- Temporary Directories -->
  205. <ItemGroup>
  206. <TempBuildFolder Include="$(BuildTempDirectory)" />
  207. <TempBuildFolder Include="$(BuildOutputDirectory)" />
  208. <TempBuildFolder Include="$(SourceDirectory)\AddressBook\obj" />
  209. <TempBuildFolder Include="$(SourceDirectory)\AddressBook\bin" />
  210. <TempBuildFolder Include="$(SourceDirectory)\ProtoBench\obj" />
  211. <TempBuildFolder Include="$(SourceDirectory)\ProtoBench\bin" />
  212. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers\obj" />
  213. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers\bin" />
  214. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Serialization\obj" />
  215. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Serialization\bin" />
  216. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Test\obj" />
  217. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffers.Test\bin" />
  218. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffersLite.Test\obj" />
  219. <TempBuildFolder Include="$(SourceDirectory)\ProtocolBuffersLite.Test\bin" />
  220. <TempBuildFolder Include="$(SourceDirectory)\ProtoDump\obj" />
  221. <TempBuildFolder Include="$(SourceDirectory)\ProtoDump\bin" />
  222. <TempBuildFolder Include="$(SourceDirectory)\ProtoGen\obj" />
  223. <TempBuildFolder Include="$(SourceDirectory)\ProtoGen\bin" />
  224. <TempBuildFolder Include="$(SourceDirectory)\ProtoGen.Test\obj" />
  225. <TempBuildFolder Include="$(SourceDirectory)\ProtoGen.Test\bin" />
  226. <TempBuildFolder Include="$(SourceDirectory)\ProtoMunge\obj" />
  227. <TempBuildFolder Include="$(SourceDirectory)\ProtoMunge\bin" />
  228. </ItemGroup>
  229. </Project>