summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--csharp/BuildInstructions.md2
-rw-r--r--csharp/msbuild/ice.proj20
2 files changed, 19 insertions, 3 deletions
diff --git a/csharp/BuildInstructions.md b/csharp/BuildInstructions.md
index 009ab083e73..c745bfc04bf 100644
--- a/csharp/BuildInstructions.md
+++ b/csharp/BuildInstructions.md
@@ -34,7 +34,7 @@ To build the Ice assemblies, services and tests, run
Upon completion, the Ice assemblies are placed in the `Assemblies` subdirectory.
-If you want to run the test suite without building the entire source base, use this
+If you want to build the test suite without building the entire source base, use this
command:
msbuild msbuild\ice.proj /p:ICE_BIN_DIST=all
diff --git a/csharp/msbuild/ice.proj b/csharp/msbuild/ice.proj
index 28fde292a25..3008c5a9db2 100644
--- a/csharp/msbuild/ice.proj
+++ b/csharp/msbuild/ice.proj
@@ -11,6 +11,22 @@
<Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.test.sln"/>
</Target>
+ <PropertyGroup>
+ <slice2cs Condition="'$(DefaultPlatformToolset)' == 'v140'">c++98\slice2cs</slice2cs>
+ <slice2cs Condition="'$(DefaultPlatformToolset)' == 'v120'">slice2cs</slice2cs>
+ </PropertyGroup>
+
+ <Target Name="slice2cs">
+ <MSBuild Projects="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.proj"
+ Targets="NuGetRestore"
+ BuildInParallel="true"/>
+
+ <MSBuild Projects="$(MSBuildThisFileDirectory)..\..\cpp\msbuild\ice.$(DefaultPlatformToolset).sln"
+ Targets="$(slice2cs)"
+ BuildInParallel="true"
+ Properties="Platform=$(Platform);Configuration=$(Configuration)"/>
+ </Target>
+
<ItemGroup>
<DistSolution Include="ice.sln">
<Properties>Configuration=$(Configuration);Platform=Any CPU</Properties>
@@ -21,7 +37,7 @@
</TestSoution>
</ItemGroup>
- <Target Name="BuildDist" Condition="'$(ICE_BIN_DIST)' != 'all'">
+ <Target Name="BuildDist" DependsOnTargets="slice2cs" Condition="'$(ICE_BIN_DIST)' != 'all'">
<MSBuild Projects="@(DistSolution)"
BuildInParallel="true"
Properties="%(Properties)"/>
@@ -34,7 +50,7 @@
Targets="Clean" />
</Target>
- <Target Name="Build" DependsOnTargets="TestNuGetRestore;BuildDist">
+ <Target Name="Build" DependsOnTargets="TestNuGetRestore;BuildDist;slice2cs">
<MSBuild Projects="@(TestSoution)"
BuildInParallel="true"
Properties="%(Properties)" />