aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2010-02-08 11:06:54 +0000
committerJon Skeet <skeet@pobox.com>2010-02-08 11:06:54 +0000
commit55a212d38433e71a6343936872c85d48d553e724 (patch)
treed6c06902b7a572e27d5f2e2024b1521b3a3cff16
parentb075ff5c17b04efcd8ab8adee866456b0abf2195 (diff)
downloadprotobuf-55a212d38433e71a6343936872c85d48d553e724.tar.gz
protobuf-55a212d38433e71a6343936872c85d48d553e724.tar.bz2
protobuf-55a212d38433e71a6343936872c85d48d553e724.zip
Better support for Compact Framework builds
-rw-r--r--ProtocolBuffers.build57
-rw-r--r--src/ProtocolBuffers/ProtocolBuffersCF.csproj4
-rw-r--r--todo.txt4
3 files changed, 55 insertions, 10 deletions
diff --git a/ProtocolBuffers.build b/ProtocolBuffers.build
index 14f59c97..2a382ad1 100644
--- a/ProtocolBuffers.build
+++ b/ProtocolBuffers.build
@@ -232,18 +232,61 @@
</nunit2>
</target>
+ <target name="build-all-configs"
+ description="Builds all versions of the main library">
+ <msbuild project="${src}/ProtocolBuffers.sln">
+ <property name="Configuration" value="Debug" />
+ </msbuild>
+ <msbuild project="${src}/ProtocolBuffers.sln">
+ <property name="Configuration" value="Release" />
+ </msbuild>
+ <msbuild project="${src}/ProtocolBuffers.sln">
+ <property name="Configuration" value="Silverlight2" />
+ </msbuild>
+ <msbuild project="${src}/ProtocolBuffers/ProtocolBuffersCF.csproj">
+ <property name="Configuration" value="Release" />
+ </msbuild>
+ </target>
+
+
<target name="dist"
- description="Copies compiled binaries into the output directory">
+ description="Copies all binaries into the output directory">
<delete dir="${output-dir}" />
<mkdir dir="${output-dir}" />
- <copy todir="${output-dir}"
+ <mkdir dir="${output-dir}/Debug" />
+ <mkdir dir="${output-dir}/Release" />
+ <mkdir dir="${output-dir}/Silverlight2" />
+ <mkdir dir="${output-dir}/CompactFramework35" />
+ <copy todir="${output-dir}/Debug"
+ flatten="true">
+ <fileset basedir="${src}">
+ <include name="ProtocolBuffers/bin/Debug/Google.ProtocolBuffers.*" />
+ <include name="ProtoGen/bin/Debug/ProtoGen.*" />
+ <include name="ProtoMunge/bin/Debug/ProtoMunge.*" />
+ <include name="ProtoDump/bin/Debug/ProtoDump.*" />
+ <include name="ProtoBench/bin/Debug/ProtoBench.*" />
+ </fileset>
+ </copy>
+ <copy todir="${output-dir}/Release"
+ flatten="true">
+ <fileset basedir="${src}">
+ <include name="ProtocolBuffers/bin/Release/Google.ProtocolBuffers.*" />
+ <include name="ProtoGen/bin/Release/ProtoGen.*" />
+ <include name="ProtoMunge/bin/Release/ProtoMunge.*" />
+ <include name="ProtoDump/bin/Release/ProtoDump.*" />
+ <include name="ProtoBench/bin/Release/ProtoBench.*" />
+ </fileset>
+ </copy>
+ <copy todir="${output-dir}/Silverlight2"
+ flatten="true">
+ <fileset basedir="${src}">
+ <include name="ProtocolBuffers/bin/Silverlight2/Google.ProtocolBuffers.dll" />
+ </fileset>
+ </copy>
+ <copy todir="${output-dir}/CompactFramework35"
flatten="true">
<fileset basedir="${src}">
- <include name="ProtocolBuffers/bin/${build-configuration}/Google.ProtocolBuffers.dll" />
- <include name="ProtoGen/bin/${build-configuration}/ProtoGen.exe" />
- <include name="ProtoMunge/bin/${build-configuration}/ProtoMunge.exe" />
- <include name="ProtoDump/bin/${build-configuration}/ProtoDump.exe" />
- <include name="ProtoBench/bin/${build-configuration}/ProtoBench.exe" />
+ <include name="ProtocolBuffers/bin/ReleaseCF/Google.ProtocolBuffers.dll" />
</fileset>
</copy>
</target>
diff --git a/src/ProtocolBuffers/ProtocolBuffersCF.csproj b/src/ProtocolBuffers/ProtocolBuffersCF.csproj
index 78b83838..b6006124 100644
--- a/src/ProtocolBuffers/ProtocolBuffersCF.csproj
+++ b/src/ProtocolBuffers/ProtocolBuffersCF.csproj
@@ -23,7 +23,7 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
+ <OutputPath>bin\DebugCF\</OutputPath>
<DefineConstants>COMPACT_FRAMEWORK_35;DEBUG;TRACE;$(PlatformFamilyName)</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
@@ -35,7 +35,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
+ <OutputPath>bin\ReleaseCF\</OutputPath>
<DefineConstants>COMPACT_FRAMEWORK_35;TRACE;$(PlatformFamilyName)</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
diff --git a/todo.txt b/todo.txt
index 20cf4119..498e5ca9 100644
--- a/todo.txt
+++ b/todo.txt
@@ -8,7 +8,7 @@ Current task list (not in order)
- Avoid using reflection for messages which don't need it (is this
possible?)
- Bring service generation into line with Java
-- Build protoc as a dll and use directly from protoge
+- Build protoc as a dll and use directly from protogen
- Check copyright is everywhere
- Work out how to unit test Silverlight code
- Reformat code
@@ -16,3 +16,5 @@ Current task list (not in order)
- Add regions to copyright
- Investigate command line parsing library
- Investigate calling protoc directly
+- Build and publish binaries
+- Work out why the Compact Framework 3.5 build fails under VS2010