diff options
author | Jose <jose@zeroc.com> | 2018-02-16 12:19:46 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2018-02-16 12:21:37 +0100 |
commit | e9f6efe604c9a6f552c4faa7f6cd9dd24e40a886 (patch) | |
tree | 284ca90238431e831f6c3ab7b72ea06bd3304d48 /cpp | |
parent | Whitespace fix (diff) | |
download | ice-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.targets | 48 | ||||
-rw-r--r-- | cpp/msbuild/ice.nuget.uwp.targets | 11 | ||||
-rw-r--r-- | cpp/msbuild/ice.proj | 794 |
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> |