aboutsummaryrefslogtreecommitdiff
path: root/build/build.csproj
blob: 22084bd0023dd343f59ad18b6db4fb203cdc0506 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?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></BuildConfiguration>

		<!--Directory Paths-->
    <ProjectDirectory>$(MSBuildProjectDirectory)\..</ProjectDirectory>
		<SourceDirectory>$(ProjectDirectory)\src</SourceDirectory>
		<LibDirectory>$(ProjectDirectory)\lib</LibDirectory>
		<ProtosDirectory>$(ProjectDirectory)\protos</ProtosDirectory>
		<BenchmarkProtosDirectory>$(ProjectDirectory)\benchmarks</BenchmarkProtosDirectory>
		<BuildTempDirectory>$(ProjectDirectory)\build_temp\$(BuildConfiguration)</BuildTempDirectory>
		<BuildOutputDirectory>$(ProjectDirectory)\build_output\$(BuildConfiguration)</BuildOutputDirectory>
		
		<!--File Paths-->
    <SolutionFile Condition=" '$(BuildTools)' == '' ">$(SourceDirectory)\ProtocolBuffers.sln</SolutionFile>
    <SolutionFile Condition=" '$(BuildTools)' == 'v3.5' ">$(SourceDirectory)\ProtocolBuffers2008.sln</SolutionFile>

    <!--Tool Paths-->
		<ProtocExePath>$(LibDirectory)\protoc.exe</ProtocExePath>
		<ProtogenExePath>$(SourceDirectory)\ProtoGen\bin\$(BuildConfiguration)\protogen.exe</ProtogenExePath>
		<ProtoBenchExePath>$(BuildTempDirectory)\ProtoBench.exe</ProtoBenchExePath>
		<NUnitExePath>$(LibDirectory)\NUnit 2.2.8.0\nunit-console.exe</NUnitExePath>
		<ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath>
	</PropertyGroup>

	<Import Project="Common.targets"/>

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

		<Protos Include="$(ProtosDirectory)\extest\unittest_extras_full.proto" />
		<Protos Include="$(ProtosDirectory)\extest\unittest_extras_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_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)\tutorial\addressbook.proto" />

        <!-- Main protos -->
		<GeneratedSource Include="$(BuildTempDirectory)\CSharpOptions.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\DescriptorProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers\DescriptorProtos</TargetDirectory>
		</GeneratedSource>
        
        <!-- Address book sample -->
		<GeneratedSource Include="$(BuildTempDirectory)\AddressBookProtos.cs">
			<TargetDirectory>$(SourceDirectory)\AddressBook</TargetDirectory>
		</GeneratedSource>
        
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestCSharpOptionsProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestCustomOptionsProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestEmbedOptimizeForProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestEmptyProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestImportLiteProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>	
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestImportProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestMessageSetProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestNoGenericServicesProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestOptimizeForProtoFile.cs">
			<TargetDirectory>$(SourceDirectory)\ProtocolBuffers.Test\TestProtos</TargetDirectory>
		</GeneratedSource>
		<GeneratedSource Include="$(BuildTempDirectory)\UnitTestProtoFile.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" />

		<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffers.*" />
		<DynamicPackageItem Include="$(SourceDirectory)\ProtocolBuffers\bin\$(BuildConfiguration)\Google.ProtocolBuffersLite.*" />
		<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)\readme.txt" />
		<StaticPackageItem Include="$(ProjectDirectory)\license.txt" />
		<StaticPackageItem Include="$(ProjectDirectory)\protos\**\*.*">
			<TargetDirectory>\protos</TargetDirectory>
		</StaticPackageItem>
		<StaticPackageItem Include="$(LibDirectory)\Protoc*">
			<TargetDirectory>\Protoc</TargetDirectory>
		</StaticPackageItem>
		
	</ItemGroup>

	<!-- targets -->
	<Target Name="Build" DependsOnTargets="_Compile;_Test" />
	<Target Name="PrepareOutputDirectory" DependsOnTargets="_CleanOutputDirectory" />
	<Target Name="PreparePackageComponent" DependsOnTargets="_PreparePackageComponent" />
	<Target Name="GeneratePackage" DependsOnTargets="_GeneratePackage" />
	<Target Name="RunBenchmarks" DependsOnTargets="_RunBenchmarks" />

</Project>