summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2018-02-16 12:19:46 +0100
committerJose <jose@zeroc.com>2018-02-16 12:21:37 +0100
commite9f6efe604c9a6f552c4faa7f6cd9dd24e40a886 (patch)
tree284ca90238431e831f6c3ab7b72ea06bd3304d48 /cpp
parentWhitespace fix (diff)
downloadice-e9f6efe604c9a6f552c4faa7f6cd9dd24e40a886.tar.bz2
ice-e9f6efe604c9a6f552c4faa7f6cd9dd24e40a886.tar.xz
ice-e9f6efe604c9a6f552c4faa7f6cd9dd24e40a886.zip
Allow to create NuGet packages with single platform/configuration
The packages with a single platform/configuration build are intended for testing demos with source builds, without have to build all configurations.
Diffstat (limited to 'cpp')
-rw-r--r--cpp/msbuild/ice.nuget.targets48
-rw-r--r--cpp/msbuild/ice.nuget.uwp.targets11
-rw-r--r--cpp/msbuild/ice.proj794
3 files changed, 434 insertions, 419 deletions
diff --git a/cpp/msbuild/ice.nuget.targets b/cpp/msbuild/ice.nuget.targets
index 71000ee68a1..9c33a89783e 100644
--- a/cpp/msbuild/ice.nuget.targets
+++ b/cpp/msbuild/ice.nuget.targets
@@ -23,32 +23,26 @@
$(IceSrcRootDir)lib\$(Platform)\$(Configuration)\slice*.lib"/>
</ItemGroup>
- <!-- Win32 Release binaries -->
- <ItemGroup Condition="'$(Platform)|$(Configuration)' == 'Win32|Release'">
- <Executables Include="$(IceSrcRootDir)bin\Win32\Release\*.exe"
- Exclude="$(IceSrcRootDir)bin\Win32\Release\slice2*.exe" />
- </ItemGroup>
+ <!-- Executables & Tools -->
+ <ItemGroup>
- <!-- x64 Release binaries -->
- <ItemGroup Condition="'$(Platform)|$(Configuration)' == 'x64|Release'">
- <Executables Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\*.exe"
- Exclude="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2*.exe"/>
- <Tools Include="$(IceSrcRootDir)bin\x64\Release\slice2*.exe" />
- </ItemGroup>
+ <ExecutableExcludes Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\glacier2router.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\iceboxadmin.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icebridge.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegridadmin.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegriddb.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icepatch2*.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\iceserviceinstall.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormadmin.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormdb.exe"
+ Condition="'$(DefaultBuild)' != '$(Platform)|$(Configuration)' and '$(Configuration)' == 'Debug'"/>
+
+ <ExecutableExcludes Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2*.exe"/>
- <!-- Debug binaries -->
- <ItemGroup Condition="'$(Configuration)' == 'Debug'">
<Executables Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\*.exe"
- Exclude="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\glacier2router.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\iceboxadmin.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icebridge.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegridadmin.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegriddb.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icepatch2*.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\iceserviceinstall.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormadmin.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormdb.exe;
- $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2*.exe"/>
+ Exclude="@(ExecutableExcludes)"/>
+
+ <Tools Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2*.exe" />
</ItemGroup>
<!-- public C++ header and Slice files -->
@@ -69,13 +63,15 @@
<!-- Copy required files to the package specific directories -->
<Target Name="NugetPack">
- <Copy Condition="'$(Platform)|$(Configuration)' == 'Win32|Release'"
+ <Copy Condition="'$(DefaultBuild)' == '$(Platform)|$(Configuration)'"
SourceFiles="@(Headers)" DestinationFolder="$(PackageDirectory)\build\native\include\%(Headers.RecursiveDir)" />
- <Copy Condition="'$(Platform)|$(Configuration)' == 'Win32|Release'"
+ <Copy Condition="'$(DefaultBuild)' == '$(Platform)|$(Configuration)'"
SourceFiles="@(Slices)" DestinationFolder="$(PackageDirectory)\slice\%(Slices.RecursiveDir)" />
- <Copy Condition="'$(Platform)|$(Configuration)' == 'x64|Release'"
+
+ <Copy Condition="'$(DefaultBuild)' == '$(Platform)|$(Configuration)'"
SourceFiles="@(Tools)" DestinationFolder="$(PackageDirectory)\tools" />
+
<Copy SourceFiles="@(Executables)" DestinationFolder="$(PackageDirectory)\build\native\bin\$(Platform)\$(Configuration)" />
<Copy SourceFiles="@(Libraries)" DestinationFolder="$(PackageDirectory)\build\native\bin\$(Platform)\$(Configuration)" />
<Copy SourceFiles="@(ImportLibraries)" DestinationFolder="$(PackageDirectory)\build\native\lib\$(Platform)\$(Configuration)" />
diff --git a/cpp/msbuild/ice.nuget.uwp.targets b/cpp/msbuild/ice.nuget.uwp.targets
index 549b9c04fda..8c25f4d086c 100644
--- a/cpp/msbuild/ice.nuget.uwp.targets
+++ b/cpp/msbuild/ice.nuget.uwp.targets
@@ -1,13 +1,12 @@
<Project DefaultTargets="NugetPack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
<PropertyGroup>
<IceSrcRootDir>$(MSBuildThisFileDirectory)..\</IceSrcRootDir>
</PropertyGroup>
<ItemGroup>
<!-- Slice compiler from x64 Release builds -->
- <Tools Include="$(IceSrcRootDir)bin\x64\Release\slice2cpp.exe;
- $(IceSrcRootDir)bin\x64\Release\slice2html.exe" />
+ <Tools Include="$(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2cpp.exe;
+ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\slice2html.exe" />
<!-- public header files and sources -->
<Headers Include="$(IceSrcRootDir)include\**\*.h"
@@ -15,9 +14,9 @@
$(IceSrcRootDir)include\IceIAP\*.h;
$(IceSrcRootDir)include\generated\**\*.h"/>
- <Headers Include="$(IceSrcRootDir)include\generated\uwp\x64\Release\**\*.h"
- Exclude="$(IceSrcRootDir)include\generated\uwp\x64\Release\IceDiscovery\*.h;
- $(IceSrcRootDir)include\generated\uwp\x64\Release\IceLocatorDiscovery\*.h"/>
+ <Headers Include="$(IceSrcRootDir)include\generated\uwp\$(Platform)\$(Configuration)\**\*.h"
+ Exclude="$(IceSrcRootDir)include\generated\uwp\$(Platform)\$(Configuration)\IceDiscovery\*.h;
+ $(IceSrcRootDir)include\generated\uwp\$(Platform)\$(Configuration)\IceLocatorDiscovery\*.h"/>
<Slices Include="$(IceSrcRootDir)..\slice\**\*.ice"
Exclude="$(IceSrcRootDir)..\slice\IceDiscovery\*.ice;
diff --git a/cpp/msbuild/ice.proj b/cpp/msbuild/ice.proj
index b9304798f1f..facfa4425a7 100644
--- a/cpp/msbuild/ice.proj
+++ b/cpp/msbuild/ice.proj
@@ -1,393 +1,413 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Condition="'$(Configuration)' == ''">
- <Configuration>Release</Configuration>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(Platform)' == ''">
- <Platform>Win32</Platform>
- </PropertyGroup>
-
- <PropertyGroup>
- <VCTargetsPath Condition="'$(VCTargetsPath)' == ''">C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0</VCTargetsPath>
- <DefaultPlatformToolset Condition="'$(VisualStudioVersion)' == '10.0' And '$(DefaultPlatformToolset)' == ''">v100</DefaultPlatformToolset>
- <IceTestSolution>ice.test.sln</IceTestSolution>
- <IceTestSolution Condition="'$(VisualStudioVersion)' == '10.0'">ice.test.v100.sln</IceTestSolution>
- <IceConfiguration>$(Configuration)</IceConfiguration>
- <SymbolServer Condition="'$(SymbolServer)' == ''">SRV*%TEMP%\SymbolCache*https://symbols.zeroc.com</SymbolServer>
- </PropertyGroup>
-
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-
- <PropertyGroup Condition="'$(DefaultPlatformToolset)' == 'v140' OR '$(DefaultPlatformToolset)' == 'v141'">
- <Cpp11Compiler>yes</Cpp11Compiler>
- <UWPCompiler>yes</UWPCompiler>
- <IceConfiguration Condition="$(Configuration.Contains('Release'))">Release</IceConfiguration>
- <IceConfiguration Condition="$(Configuration.Contains('Debug'))">Debug</IceConfiguration>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(DefaultPlatformToolset)' == 'v140' OR '$(DefaultPlatformToolset)' == 'v120'">
- <OpenSSL>yes</OpenSSL>
- </PropertyGroup>
-
- <Import Project="$(MSBuildThisFileDirectory)\..\..\config\icebuilder.props" />
- <Import Project="$(MSBuildThisFileDirectory)\..\..\config\Ice.common.targets" />
-
- <!--
- Restore NuGet packages.
- -->
- <Target Name="NuGetRestore" DependsOnTargets="GetNuGet">
- <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.$(DefaultPlatformToolset).sln"/>
- </Target>
-
- <Target Name="RemovePackages">
- <Exec Command="rmdir /s /q $(MSBuildThisFileDirectory)packages" Condition="Exists('$(MSBuildThisFileDirectory)packages')" />
- </Target>
-
- <Target Name="TestNuGetRestore" DependsOnTargets="GetNuGet" Condition="'$(ICE_BIN_DIST)' == 'all'">
- <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)$(IceTestSolution)"/>
- <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.openssl.test.sln"/>
- </Target>
-
- <Target Name="UWPTestNuGetRestore" DependsOnTargets="GetNuGet" Condition="'$(ICE_BIN_DIST)' == 'all'">
- <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.testuwp.sln"/>
- </Target>
-
- <Target Name="DownloadSymbols" DependsOnTargets="TestNuGetRestore" Condition="'$(ICE_BIN_DIST)' == 'all'">
- <Exec IgnoreExitCode="True"
- Command="symchk /r $(MSBuildThisFileDirectory)packages\zeroc.ice.$(DefaultPlatformToolset).$(IceJSONVersion)\build\native\bin\$(Platform)\$(IceConfiguration)\* /s $(SymbolServer)">
- <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
- </Exec>
- <Warning Text="PDBs download failed, stack traces might be missing or incomplete" Condition="'$(ErrorCode)' != '0'" />
- </Target>
-
- <!-- Ice for C++ builds. -->
- <Choose>
+ <PropertyGroup Condition="'$(Configuration)' == ''">
+ <Configuration>Release</Configuration>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(Platform)' == ''">
+ <Platform>Win32</Platform>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <CppPlatformToolset Include="v100"/>
+ <CppPlatformToolset Include="v120"/>
+ <CppPlatformToolset Include="v140"/>
+ <CppPlatformToolset Include="v141"/>
+ </ItemGroup>
+
+ <PropertyGroup>
+ <VCTargetsPath Condition="'$(VCTargetsPath)' == ''">C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0</VCTargetsPath>
+ <DefaultPlatformToolset Condition="'$(VisualStudioVersion)' == '10.0' And '$(DefaultPlatformToolset)' == ''">v100</DefaultPlatformToolset>
+ <IceTestSolution>ice.test.sln</IceTestSolution>
+ <IceTestSolution Condition="'$(VisualStudioVersion)' == '10.0'">ice.test.v100.sln</IceTestSolution>
+ <IceConfiguration>$(Configuration)</IceConfiguration>
+ <SymbolServer Condition="'$(SymbolServer)' == ''">SRV*%TEMP%\SymbolCache*https://symbols.zeroc.com</SymbolServer>
+ </PropertyGroup>
+
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+
+ <PropertyGroup Condition="'$(DefaultPlatformToolset)' == 'v140' OR '$(DefaultPlatformToolset)' == 'v141'">
+ <Cpp11Compiler>yes</Cpp11Compiler>
+ <UWPCompiler>yes</UWPCompiler>
+ <IceConfiguration Condition="$(Configuration.Contains('Release'))">Release</IceConfiguration>
+ <IceConfiguration Condition="$(Configuration.Contains('Debug'))">Debug</IceConfiguration>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(DefaultPlatformToolset)' == 'v140' OR '$(DefaultPlatformToolset)' == 'v120'">
+ <OpenSSL>yes</OpenSSL>
+ </PropertyGroup>
+
+ <Import Project="$(MSBuildThisFileDirectory)\..\..\config\icebuilder.props" />
+ <Import Project="$(MSBuildThisFileDirectory)\..\..\config\Ice.common.targets" />
+
<!--
- If BuildAllConfigurations is set to yes we build all configurations that are
- part of the binary distribution, otherwise we just build the given platform
- and configuration.
+ Restore NuGet packages.
-->
- <When Condition="'$(BuildAllConfigurations)' == 'yes'">
- <!-- Ice for C++ configurations -->
- <ItemGroup>
- <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
- <Properties>Configuration=Debug;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </DistSolution>
- <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
- <Properties>Configuration=Debug;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </DistSolution>
- <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
- <Properties>Configuration=Release;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </DistSolution>
- <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
- <Properties>Configuration=Release;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </DistSolution>
- </ItemGroup>
-
- <!-- Ice for UWP builds -->
- <ItemGroup Condition="'$(UWPCompiler)' == 'yes'">
- <UWPDistSolution Include="ice.uwp.sln">
- <Properties>Configuration=Debug;Platform=Win32</Properties>
- </UWPDistSolution>
- <UWPDistSolution Include="ice.uwp.sln">
- <Properties>Configuration=Debug;Platform=x64</Properties>
- </UWPDistSolution>
- <UWPDistSolution Include="ice.uwp.sln">
- <Properties>Configuration=Release;Platform=Win32</Properties>
- </UWPDistSolution>
- <UWPDistSolution Include="ice.uwp.sln">
- <Properties>Configuration=Release;Platform=x64</Properties>
- </UWPDistSolution>
- </ItemGroup>
-
- <!-- Ice for C++ test configurations (C++98 mapping) -->
- <ItemGroup>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Debug;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Debug;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Release;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Release;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </TestSolution>
- </ItemGroup>
-
- <!-- Ice for C++ test configurations (C++11 mapping) requires a C++11 compiler -->
- <ItemGroup Condition="'$(Cpp11Compiler)' == 'yes'">
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Cpp11-Debug;Platform=Win32</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Cpp11-Debug;Platform=x64</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Cpp11-Release;Platform=Win32</Properties>
- </TestSolution>
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Cpp11-Release;Platform=x64</Properties>
- </TestSolution>
- </ItemGroup>
-
- <!-- OpenSSL C++ test configurations (C++98 mapping) -->
- <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'">
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Debug;Platform=Win32</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Debug;Platform=x64</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Release;Platform=Win32</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Release;Platform=x64</Properties>
- </OpenSSLTestSolution>
- </ItemGroup>
-
- <!-- OpenSSL C++ test configurations (C++11 mapping) -->
- <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and $(OpenSSL) == 'yes' and '$(Cpp11Compiler)' == 'yes'">
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Cpp11-Debug;Platform=Win32</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Cpp11-Debug;Platform=x64</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Cpp11-Release;Platform=Win32</Properties>
- </OpenSSLTestSolution>
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Cpp11-Release;Platform=x64</Properties>
- </OpenSSLTestSolution>
- </ItemGroup>
-
- <!-- Ice for UWP test configurations -->
- <ItemGroup>
- <UWPTestSolution Include="ice.testuwp.sln">
- <Properties>Configuration=Debug;Platform=Win32</Properties>
- </UWPTestSolution>
- <UWPTestSolution Include="ice.testuwp.sln">
- <Properties>Configuration=Debug;Platform=x64</Properties>
- </UWPTestSolution>
- <UWPTestSolution Include="ice.testuwp.sln">
- <Properties>Configuration=Release;Platform=Win32</Properties>
- </UWPTestSolution>
- <UWPTestSolution Include="ice.testuwp.sln">
- <Properties>Configuration=Release;Platform=x64</Properties>
- </UWPTestSolution>
- </ItemGroup>
- </When>
- <Otherwise>
- <!-- Ice for C++98 configurations -->
- <ItemGroup>
- <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
- <Properties>Configuration=$(Configuration);Platform=$(Platform);VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </DistSolution>
-
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=$(Configuration);Platform=$(Platform);VisualStudioVersion=$(VisualStudioVersion)</Properties>
- </TestSolution>
- </ItemGroup>
-
- <!-- Ice for C++ test configurations (C++11 mapping) requires v140 or v141 -->
- <ItemGroup Condition="'$(Cpp11Compiler)' == 'yes'">
- <TestSolution Include="$(IceTestSolution)">
- <Properties>Configuration=Cpp11-$(Configuration);Platform=$(Platform)</Properties>
- </TestSolution>
- </ItemGroup>
-
- <!-- OpenSSL test builds -->
- <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'">
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
- </OpenSSLTestSolution>
- </ItemGroup>
-
- <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes' and '$(Cpp11Compiler)' == 'yes'">
- <OpenSSLTestSolution Include="ice.openssl.test.sln">
- <Properties>Configuration=Cpp11-$(Configuration);Platform=$(Platform)</Properties>
- </OpenSSLTestSolution>
- </ItemGroup>
-
- <ItemGroup Condition="'$(UWPCompiler)' == 'yes'">
- <UWPDistSolution Include="ice.uwp.sln">
- <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
- </UWPDistSolution>
-
- <UWPTestSolution Include="ice.testuwp.sln">
- <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
- </UWPTestSolution>
- </ItemGroup>
-
- </Otherwise>
- </Choose>
-
- <!-- Build distribution targets -->
- <Target Name="BuildDist" DependsOnTargets="NuGetRestore"
- Condition="'$(ICE_BIN_DIST)' != 'all'">
- <MSBuild Projects="@(DistSolution)"
- BuildInParallel="true"
- Properties="%(Properties)"/>
- </Target>
-
- <!-- Clean distribution targets -->
- <Target Name="CleanDist"
- Condition="'$(ICE_BIN_DIST)' != 'all'">
- <MSBuild Projects="@(DistSolution)"
- BuildInParallel="true"
- Properties="%(Properties)"
- Targets="Clean" />
- </Target>
-
- <!-- Build test solution -->
- <Target Name="Build" DependsOnTargets="TestNuGetRestore;BuildDist">
- <MSBuild Projects="@(TestSolution)"
- BuildInParallel="true"
- Properties="%(Properties)" />
-
- <!-- Build OpenSSL tests only with supported compilers -->
- <MSBuild Projects="@(OpenSSLTestSolution)"
- BuildInParallel="true"
- Properties="%(Properties)"
- Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'" />
- </Target>
-
- <!-- Clean test solution -->
- <Target Name="Clean" DependsOnTargets="CleanDist">
- <MSBuild Projects="@(TestSolution)" BuildInParallel="true" Targets="Clean" Properties="%(Properties)" />
- <MSBuild Projects="@(OpenSSLTestSolution)"
- BuildInParallel="true"
- Targets="Clean"
- Properties="%(Properties)"
- Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'" />
- </Target>
-
- <!-- Create nuget packages -->
- <Target Name="NuGetPack"
- DependsOnTargets="BuildDist"
- Condition="$(BuildAllConfigurations) == 'yes'">
-
- <RemoveDir Directories="zeroc.ice.$(DefaultPlatformToolset)" />
-
- <MSBuild Projects="ice.nuget.targets"
- Properties="Configuration=Debug;Platform=Win32;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset)" />
- <MSBuild Projects="ice.nuget.targets"
- Properties="Configuration=Debug;Platform=x64;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset)" />
- <MSBuild Projects="ice.nuget.targets"
- Properties="Configuration=Release;Platform=Win32;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset)" />
- <MSBuild Projects="ice.nuget.targets"
- Properties="Configuration=Release;Platform=x64;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset)" />
-
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
- DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\ICE_LICENSE.txt" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
- DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\LICENSE.txt" />
- <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).nuspec"
- DestinationFolder="zeroc.ice.$(DefaultPlatformToolset)" />
- <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).props"
- DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\build\native\zeroc.ice.$(DefaultPlatformToolset).props" />
- <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).targets"
- DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\build\native\zeroc.ice.$(DefaultPlatformToolset).targets" />
- <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
- WorkingDirectory="zeroc.ice.$(DefaultPlatformToolset)"/>
- </Target>
-
- <!-- UWP targets -->
-
- <!-- Build UWP distribution targetes -->
- <Target Name="UWPBuildDist" DependsOnTargets="NuGetRestore"
- Condition="'$(ICE_BIN_DIST)' != 'all'">
- <!-- UWP dist soultions require the slice2cpp translator from dist solutions -->
- <MSBuild Projects="@(DistSolution)"
- BuildInParallel="true"
- Properties="%(Properties)"
- Targets="C++98\slice2cpp;C++98\slice2html"/>
-
- <MSBuild Projects="@(UWPDistSolution)"
- BuildInParallel="true"
- Properties="%(Properties)" />
- </Target>
-
- <!-- Clean UWP distribution targets -->
- <Target Name="UWPCleanDist"
- Condition="'$(ICE_BIN_DIST)' != 'all'">
- <MSBuild Projects="@(UWPDistSolution)"
- BuildInParallel="true"
- Properties="%(Properties)"
- Targets="Clean" />
- </Target>
-
- <!-- Build UWP test solution -->
- <Target Name="UWPBuild" DependsOnTargets="UWPTestNuGetRestore;UWPBuildDist">
- <MSBuild Projects="@(UWPTestSolution)"
- BuildInParallel="true"
- Properties="%(Properties)" />
- </Target>
-
- <!-- Clean UWP test solution -->
- <Target Name="UWPClean" DependsOnTargets="UWPCleanDist">
- <MSBuild Projects="@(UWPTestSolution)" BuildInParallel="true" Targets="Clean" Properties="%(Properties)" />
- </Target>
-
- <!-- Create UWP NuGet packages -->
- <Target Name="UWPNuGetPack"
- DependsOnTargets="UWPBuildDist"
- Condition="$(BuildAllConfigurations) == 'yes' and '$(UWPCompiler)' == 'yes' ">
-
- <RemoveDir Directories="zeroc.ice.uwp.$(DefaultPlatformToolset);
- zeroc.ice.uwp.$(DefaultPlatformToolset).x86;
- zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
-
- <!-- Win32 package -->
- <MSBuild Projects="ice.nuget.uwp.arch.targets"
- Properties="Configuration=Debug;Platform=Win32;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x86" />
- <MSBuild Projects="ice.nuget.uwp.arch.targets"
- Properties="Configuration=Release;Platform=Win32;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x86" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\ICE_LICENSE.txt" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\LICENSE.txt" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86.nuspec"
- DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset).x86" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).targets"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).x86.targets" />
- <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
- WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset).x86"/>
-
- <!-- x64 package -->
- <MSBuild Projects="ice.nuget.uwp.arch.targets"
- Properties="Configuration=Debug;Platform=x64;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
- <MSBuild Projects="ice.nuget.uwp.arch.targets"
- Properties="Configuration=Release;Platform=x64;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\ICE_LICENSE.txt" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\LICENSE.txt" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64.nuspec"
- DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).targets"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).x64.targets" />
- <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
- WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset).x64"/>
-
- <!-- noarch package -->
- <MSBuild Projects="ice.nuget.uwp.targets"
- Properties="PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset)" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\ICE_LICENSE.txt" />
- <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\LICENSE.txt" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).nuspec"
- DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset)" />
- <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).props"
- DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).props" />
- <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
- WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset)"/>
- </Target>
-
+ <Target Name="NuGetRestore" DependsOnTargets="GetNuGet">
+ <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.$(DefaultPlatformToolset).sln"/>
+ </Target>
+
+ <Target Name="RemovePackages">
+ <Exec Command="rmdir /s /q $(MSBuildThisFileDirectory)packages" Condition="Exists('$(MSBuildThisFileDirectory)packages')" />
+ </Target>
+
+ <Target Name="TestNuGetRestore" DependsOnTargets="GetNuGet" Condition="'$(ICE_BIN_DIST)' == 'all'">
+ <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)$(IceTestSolution)"/>
+ <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.openssl.test.sln"/>
+ </Target>
+
+ <Target Name="UWPTestNuGetRestore" DependsOnTargets="GetNuGet" Condition="'$(ICE_BIN_DIST)' == 'all'">
+ <Exec Command="$(NuGetExe) restore $(MSBuildThisFileDirectory)ice.testuwp.sln"/>
+ </Target>
+
+ <Target Name="DownloadSymbols" DependsOnTargets="TestNuGetRestore" Condition="'$(ICE_BIN_DIST)' == 'all'">
+ <Exec IgnoreExitCode="True"
+ Command="symchk /r $(MSBuildThisFileDirectory)packages\zeroc.ice.$(DefaultPlatformToolset).$(IceJSONVersion)\build\native\bin\$(Platform)\$(IceConfiguration)\* /s $(SymbolServer)">
+ <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
+ </Exec>
+ <Warning Text="PDBs download failed, stack traces might be missing or incomplete" Condition="'$(ErrorCode)' != '0'" />
+ </Target>
+
+ <!-- Ice for C++ builds. -->
+ <Choose>
+ <!--
+ If BuildAllConfigurations is set to yes we build all configurations that are
+ part of the binary distribution, otherwise we just build the given platform
+ and configuration.
+ -->
+ <When Condition="'$(BuildAllConfigurations)' == 'yes'">
+ <PropertyGroup>
+ <DefaultBuild>x64|Release</DefaultBuild>
+ </PropertyGroup>
+ <!-- Ice for C++ configurations -->
+ <ItemGroup>
+ <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
+ <Properties>Configuration=Debug;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </DistSolution>
+ <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
+ <Properties>Configuration=Debug;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </DistSolution>
+ <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
+ <Properties>Configuration=Release;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </DistSolution>
+ <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
+ <Properties>Configuration=Release;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </DistSolution>
+ </ItemGroup>
+
+ <!-- Ice for UWP builds -->
+ <ItemGroup Condition="'$(UWPCompiler)' == 'yes'">
+ <UWPDistSolution Include="ice.uwp.sln">
+ <Properties>Configuration=Debug;Platform=Win32</Properties>
+ </UWPDistSolution>
+ <UWPDistSolution Include="ice.uwp.sln">
+ <Properties>Configuration=Debug;Platform=x64</Properties>
+ </UWPDistSolution>
+ <UWPDistSolution Include="ice.uwp.sln">
+ <Properties>Configuration=Release;Platform=Win32</Properties>
+ </UWPDistSolution>
+ <UWPDistSolution Include="ice.uwp.sln">
+ <Properties>Configuration=Release;Platform=x64</Properties>
+ </UWPDistSolution>
+ </ItemGroup>
+
+ <!-- Ice for C++ test configurations (C++98 mapping) -->
+ <ItemGroup>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Debug;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Debug;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Release;Platform=Win32;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Release;Platform=x64;VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </TestSolution>
+ </ItemGroup>
+
+ <!-- Ice for C++ test configurations (C++11 mapping) requires a C++11 compiler -->
+ <ItemGroup Condition="'$(Cpp11Compiler)' == 'yes'">
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Cpp11-Debug;Platform=Win32</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Cpp11-Debug;Platform=x64</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Cpp11-Release;Platform=Win32</Properties>
+ </TestSolution>
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Cpp11-Release;Platform=x64</Properties>
+ </TestSolution>
+ </ItemGroup>
+
+ <!-- OpenSSL C++ test configurations (C++98 mapping) -->
+ <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'">
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Debug;Platform=Win32</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Debug;Platform=x64</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Release;Platform=Win32</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Release;Platform=x64</Properties>
+ </OpenSSLTestSolution>
+ </ItemGroup>
+
+ <!-- OpenSSL C++ test configurations (C++11 mapping) -->
+ <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and $(OpenSSL) == 'yes' and '$(Cpp11Compiler)' == 'yes'">
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Cpp11-Debug;Platform=Win32</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Cpp11-Debug;Platform=x64</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Cpp11-Release;Platform=Win32</Properties>
+ </OpenSSLTestSolution>
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Cpp11-Release;Platform=x64</Properties>
+ </OpenSSLTestSolution>
+ </ItemGroup>
+
+ <!-- Ice for UWP test configurations -->
+ <ItemGroup>
+ <UWPTestSolution Include="ice.testuwp.sln">
+ <Properties>Configuration=Debug;Platform=Win32</Properties>
+ </UWPTestSolution>
+ <UWPTestSolution Include="ice.testuwp.sln">
+ <Properties>Configuration=Debug;Platform=x64</Properties>
+ </UWPTestSolution>
+ <UWPTestSolution Include="ice.testuwp.sln">
+ <Properties>Configuration=Release;Platform=Win32</Properties>
+ </UWPTestSolution>
+ <UWPTestSolution Include="ice.testuwp.sln">
+ <Properties>Configuration=Release;Platform=x64</Properties>
+ </UWPTestSolution>
+ </ItemGroup>
+ </When>
+ <Otherwise>
+ <PropertyGroup>
+ <DefaultBuild>$(Platform)|$(Configuration)</DefaultBuild>
+ </PropertyGroup>
+ <!-- Ice for C++98 configurations -->
+ <ItemGroup>
+ <DistSolution Include="ice.$(DefaultPlatformToolset).sln">
+ <Properties>Configuration=$(Configuration);Platform=$(Platform);VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </DistSolution>
+
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=$(Configuration);Platform=$(Platform);VisualStudioVersion=$(VisualStudioVersion)</Properties>
+ </TestSolution>
+ </ItemGroup>
+
+ <!-- Ice for C++ test configurations (C++11 mapping) requires v140 or v141 -->
+ <ItemGroup Condition="'$(Cpp11Compiler)' == 'yes'">
+ <TestSolution Include="$(IceTestSolution)">
+ <Properties>Configuration=Cpp11-$(Configuration);Platform=$(Platform)</Properties>
+ </TestSolution>
+ </ItemGroup>
+
+ <!-- OpenSSL test builds -->
+ <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'">
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
+ </OpenSSLTestSolution>
+ </ItemGroup>
+
+ <ItemGroup Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes' and '$(Cpp11Compiler)' == 'yes'">
+ <OpenSSLTestSolution Include="ice.openssl.test.sln">
+ <Properties>Configuration=Cpp11-$(Configuration);Platform=$(Platform)</Properties>
+ </OpenSSLTestSolution>
+ </ItemGroup>
+
+ <ItemGroup Condition="'$(UWPCompiler)' == 'yes'">
+ <UWPDistSolution Include="ice.uwp.sln">
+ <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
+ </UWPDistSolution>
+
+ <UWPTestSolution Include="ice.testuwp.sln">
+ <Properties>Configuration=$(Configuration);Platform=$(Platform)</Properties>
+ </UWPTestSolution>
+ </ItemGroup>
+
+ </Otherwise>
+ </Choose>
+
+ <!-- Build distribution targets -->
+ <Target Name="BuildDist" DependsOnTargets="NuGetRestore"
+ Condition="'$(ICE_BIN_DIST)' != 'all'">
+ <MSBuild Projects="@(DistSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)"/>
+ </Target>
+
+ <!-- Clean distribution targets -->
+ <Target Name="CleanDist"
+ Condition="'$(ICE_BIN_DIST)' != 'all'">
+ <MSBuild Projects="@(DistSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)"
+ Targets="Clean" />
+ </Target>
+
+ <!-- Build test solution -->
+ <Target Name="Build" DependsOnTargets="TestNuGetRestore;BuildDist">
+ <MSBuild Projects="@(TestSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)" />
+
+ <!-- Build OpenSSL tests only with supported compilers -->
+ <MSBuild Projects="@(OpenSSLTestSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)"
+ Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'" />
+ </Target>
+
+ <!-- Clean test solution -->
+ <Target Name="Clean" DependsOnTargets="CleanDist">
+ <MSBuild Projects="@(TestSolution)" BuildInParallel="true" Targets="Clean" Properties="%(Properties)" />
+ <MSBuild Projects="@(OpenSSLTestSolution)"
+ BuildInParallel="true"
+ Targets="Clean"
+ Properties="%(Properties)"
+ Condition="'$(ICE_BIN_DIST)' != 'all' and '$(OpenSSL)' == 'yes'" />
+ </Target>
+
+ <!-- Create nuget packages -->
+ <Target Name="NuGetPack"
+ DependsOnTargets="BuildDist">
+
+ <RemoveDir Directories="zeroc.ice.$(DefaultPlatformToolset)" />
+
+ <MSBuild Projects="ice.nuget.targets"
+ Properties="Configuration=Debug;Platform=Win32;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset);DefaultBuild=$(DefaultBuild)"
+ Condition="'$(Platform)|$(Configuration)' == 'Win32|Debug' or '$(BuildAllConfigurations)' == 'yes'" />
+ <MSBuild Projects="ice.nuget.targets"
+ Properties="Configuration=Debug;Platform=x64;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset);DefaultBuild=$(DefaultBuild)"
+ Condition="'$(Platform)|$(Configuration)' == 'x64|Debug' or '$(BuildAllConfigurations)' == 'yes'"/>
+ <MSBuild Projects="ice.nuget.targets"
+ Properties="Configuration=Release;Platform=Win32;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset);DefaultBuild=$(DefaultBuild)"
+ Condition="'$(Platform)|$(Configuration)' == 'Win32|Release' or '$(BuildAllConfigurations)' == 'yes'"/>
+ <MSBuild Projects="ice.nuget.targets"
+ Properties="Configuration=Release;Platform=x64;PackageDirectory=zeroc.ice.$(DefaultPlatformToolset);DefaultBuild=$(DefaultBuild)"
+ Condition="'$(Platform)|$(Configuration)' == 'x64|Release' or '$(BuildAllConfigurations)' == 'yes'"/>
+
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
+ DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\ICE_LICENSE.txt" />
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
+ DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\LICENSE.txt" />
+ <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).nuspec"
+ DestinationFolder="zeroc.ice.$(DefaultPlatformToolset)" />
+ <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).props"
+ DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\build\native\zeroc.ice.$(DefaultPlatformToolset).props" />
+ <Copy SourceFiles="zeroc.ice.$(DefaultPlatformToolset).targets"
+ DestinationFiles="zeroc.ice.$(DefaultPlatformToolset)\build\native\zeroc.ice.$(DefaultPlatformToolset).targets" />
+ <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
+ WorkingDirectory="zeroc.ice.$(DefaultPlatformToolset)"/>
+ </Target>
+
+ <!-- UWP targets -->
+
+ <!-- Build UWP distribution targetes -->
+ <Target Name="UWPBuildDist" DependsOnTargets="NuGetRestore"
+ Condition="'$(ICE_BIN_DIST)' != 'all'">
+ <!-- UWP dist soultions require the slice2cpp translator from dist solutions -->
+ <MSBuild Projects="@(DistSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)"
+ Targets="C++98\slice2cpp;C++98\slice2html"/>
+
+ <MSBuild Projects="@(UWPDistSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)" />
+ </Target>
+
+ <!-- Clean UWP distribution targets -->
+ <Target Name="UWPCleanDist"
+ Condition="'$(ICE_BIN_DIST)' != 'all'">
+ <MSBuild Projects="@(UWPDistSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)"
+ Targets="Clean" />
+ </Target>
+
+ <!-- Build UWP test solution -->
+ <Target Name="UWPBuild" DependsOnTargets="UWPTestNuGetRestore;UWPBuildDist">
+ <MSBuild Projects="@(UWPTestSolution)"
+ BuildInParallel="true"
+ Properties="%(Properties)" />
+ </Target>
+
+ <!-- Clean UWP test solution -->
+ <Target Name="UWPClean" DependsOnTargets="UWPCleanDist">
+ <MSBuild Projects="@(UWPTestSolution)" BuildInParallel="true" Targets="Clean" Properties="%(Properties)" />
+ </Target>
+
+ <!-- Create UWP NuGet packages -->
+ <Target Name="UWPNuGetPack"
+ DependsOnTargets="UWPBuildDist"
+ Condition="'$(UWPCompiler)' == 'yes' ">
+
+ <RemoveDir Directories="zeroc.ice.uwp.$(DefaultPlatformToolset);
+ zeroc.ice.uwp.$(DefaultPlatformToolset).x86;
+ zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
+
+ <!-- Win32 package -->
+ <MSBuild Projects="ice.nuget.uwp.arch.targets"
+ Properties="Configuration=Debug;Platform=Win32;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x86"
+ Condition="'$(Platform)|$(Configuration)' == 'Win32|Debug'"/>
+ <MSBuild Projects="ice.nuget.uwp.arch.targets"
+ Properties="Configuration=Release;Platform=Win32;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x86"
+ Condition="'$(Platform)|$(Configuration)' == 'Win32|Release'"/>
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\ICE_LICENSE.txt" />
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\LICENSE.txt" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86.nuspec"
+ DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset).x86" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).targets"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x86\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).x86.targets" />
+ <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
+ WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset).x86"/>
+
+ <!-- x64 package -->
+ <MSBuild Projects="ice.nuget.uwp.arch.targets"
+ Properties="Configuration=Debug;Platform=x64;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x64"
+ Condition="'$(Platform)|$(Configuration)' == 'x64|Debug'"/>
+ <MSBuild Projects="ice.nuget.uwp.arch.targets"
+ Properties="Configuration=Release;Platform=x64;PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset).x64"
+ Condition="'$(Platform)|$(Configuration)' == 'x64|Release'" />
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\ICE_LICENSE.txt" />
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\LICENSE.txt" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64.nuspec"
+ DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset).x64" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).targets"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).x64\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).x64.targets" />
+ <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
+ WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset).x64"/>
+
+ <!-- noarch package -->
+ <MSBuild Projects="ice.nuget.uwp.targets"
+ Properties="PackageDirectory=zeroc.ice.uwp.$(DefaultPlatformToolset);Platform=$(Platform);Configuration=$(Configuration)"
+ Condition="'$(Platform)|$(Configuration)' == '$(DefaultBuild)'"/>
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\ICE_LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\ICE_LICENSE.txt" />
+ <Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\LICENSE"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\LICENSE.txt" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).nuspec"
+ DestinationFolder="zeroc.ice.uwp.$(DefaultPlatformToolset)" />
+ <Copy SourceFiles="zeroc.ice.uwp.$(DefaultPlatformToolset).props"
+ DestinationFiles="zeroc.ice.uwp.$(DefaultPlatformToolset)\build\native\zeroc.ice.uwp.$(DefaultPlatformToolset).props" />
+ <Exec Command="$(NuGetExe) pack -NoPackageAnalysis -NonInteractive"
+ WorkingDirectory="zeroc.ice.uwp.$(DefaultPlatformToolset)"/>
+ </Target>
</Project>