Skip to content
This repository was archived by the owner on Mar 12, 2021. It is now read-only.

Commit 7ae3d93

Browse files
author
moozzyk
committed
NuPkg'15 - Enabling building packages for VS2015
1 parent b109998 commit 7ae3d93

9 files changed

Lines changed: 147 additions & 111 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ ipch/
1616
*.exe
1717
artifacts/
1818
*.aps
19-
src/signalrclientdll/version.h
19+
src/signalrclientdll/version.h
20+
/.vs/

Build/Common.tasks

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,36 @@
4747
</Code>
4848
</Task>
4949
</UsingTask>
50+
51+
<UsingTask TaskName="RegexReplaceInFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
52+
<ParameterGroup>
53+
<InputFilename ParameterType="System.String" Required="true" />
54+
<OutputFilename ParameterType="System.String" Required="true" />
55+
<Pattern ParameterType="System.String" Required="true" />
56+
<Replacement ParameterType="System.String" Required="true" />
57+
</ParameterGroup>
58+
<Task>
59+
<Using Namespace="System.IO" />
60+
<Using Namespace="System.Linq" />
61+
<Using Namespace="System.Text.RegularExpressions" />
62+
<Code Type="Fragment" Language="cs">
63+
<![CDATA[
64+
string contents;
65+
using (var input = new StreamReader(InputFilename))
66+
{
67+
contents = input.ReadToEnd();
68+
}
69+
70+
contents = new Regex(Pattern, RegexOptions.Compiled | RegexOptions.Multiline)
71+
.Replace(contents, Replacement);
72+
73+
using (var output = new StreamWriter(OutputFilename))
74+
{
75+
output.Write(contents);
76+
}
77+
]]>
78+
</Code>
79+
</Task>
80+
</UsingTask>
5081

5182
</Project>

Build/build.msbuild

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,11 @@
8585

8686
<Target Name="CreatePackage">
8787
<PropertyGroup>
88-
<PackageSource>$(SolutionDir)bin\Package\</PackageSource>
89-
<PackageSourceNative>$(SolutionDir)bin\Package\build\native\</PackageSourceNative>
88+
<PlatformToolset Condition="'$(PlatformToolset)' == ''">v120</PlatformToolset>
89+
<PackageSource>$(SolutionDir)bin\Package\$(PlatformToolset)\</PackageSource>
90+
<PackageSourceNative>$(PackageSource)build\native\</PackageSourceNative>
9091
<NuGetArtifactsPath>$(MSBuildThisFileDirectory)..\NuGet\</NuGetArtifactsPath>
91-
<NuSpecPath>$(NuGetArtifactsPath)signalrclientcpp.nuspec</NuSpecPath>
92+
<NuSpecTemplatePath>$(NuGetArtifactsPath)signalrclientcpp.nuspec.template</NuSpecTemplatePath>
9293
<PackageOutputDir>$(SolutionDir)artifacts\build</PackageOutputDir>
9394
<PrivateSymbols>$(SolutionDir)bin\Symbols\</PrivateSymbols>
9495
</PropertyGroup>
@@ -97,18 +98,20 @@
9798
<Include Include="$(SolutionDir)include\**\*.*" />
9899
</ItemGroup>
99100
<Copy SourceFiles="@(Include)" DestinationFolder="$(PackageSourceNative)include\%(RecursiveDir)" />
100-
<Copy SourceFiles="$(NuSpecPath)" DestinationFolder="$(PackageSource)" />
101-
<Copy SourceFiles="$(NuGetArtifactsPath)Microsoft.AspNet.SignalR.Client.Cpp.v120.WinDesktop.targets" DestinationFolder="$(PackageSourceNative)" />
101+
<MakeDir Directories="$(PackageSource)" />
102+
<RegexReplaceInFile InputFileName="$(NuSpecTemplatePath)" OutputFileName="$(PackageSource)signalrclientcpp.nuspec" Pattern="#Toolset#" Replacement="$(PlatformToolset)" />
103+
<RegexReplaceInFile InputFileName="$(NuGetArtifactsPath)\Microsoft.AspNet.SignalR.Client.Cpp.WinDesktop.targets.template"
104+
OutputFileName="$(PackageSourceNative)Microsoft.AspNet.SignalR.Client.Cpp.$(PlatformToolset).WinDesktop.targets" Pattern="#Toolset#" Replacement="$(PlatformToolset)" />
102105

103106
<MSBuild Targets="RestorePackages" Projects="@(Projects)" />
104-
107+
105108
<MSBuild Targets="BuildForNuget"
106109
Projects="$(MSBuildThisFile)" Properties="PackageSourceNative=$(PackageSourceNative);PrivateSymbols=$(PrivateSymbols);Configuration=%(ProjectConfiguration.Configuration);Platform=%(ProjectConfiguration.Platform);PlatformToolset=$(PlatformToolset);SignalrClientTargetName=$(SignalrClientTargetName)" />
107110

108111
<MakeDir Directories="$(PackageOutputDir)" />
109-
<Exec Command="$(NuGetCommand) pack $(NuSpecPath) -BasePath $(PackageSource) -OutputDirectory $(PackageOutputDir) -Version $(SignalRClientCppVersionString)" LogStandardErrorAsError="true" />
112+
<Exec Command="$(NuGetCommand) pack $(PackageSource)signalrclientcpp.nuspec -BasePath $(PackageSource) -OutputDirectory $(PackageOutputDir) -Version $(SignalRClientCppVersionString)" LogStandardErrorAsError="true" />
110113

111-
<ZipDir InputDir="$(PrivateSymbols)" OutputFileName="$(PackageOutputDir)\Symbols.zip" IncludeBaseDir="false"/>
114+
<ZipDir InputDir="$(PrivateSymbols)" OutputFileName="$(PackageOutputDir)\Symbols_$(PlatformToolset).zip" IncludeBaseDir="false"/>
112115
</Target>
113116

114117
<Target Name="BuildForNuget">
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="signalrclient_inittarget">
3+
4+
<ItemDefinitionGroup>
5+
<ClCompile>
6+
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
7+
</ClCompile>
8+
<ResourceCompile>
9+
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
10+
</ResourceCompile>
11+
</ItemDefinitionGroup>
12+
13+
<ItemDefinitionGroup Label="x64 and #Toolset# and Release" Condition="'$(Platform.ToLower())' == 'x64' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) == -1">
14+
<Link>
15+
<AdditionalDependencies>$(MSBuildThisFileDirectory)lib\x64\#Toolset#\Release\signalrclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
16+
</Link>
17+
</ItemDefinitionGroup>
18+
<ItemDefinitionGroup Label="x64 and #Toolset# and Debug" Condition="'$(Platform.ToLower())' == 'x64' And '$(PlatformToolset.ToLower())' == '#Toolset#'">
19+
<Link>
20+
<AdditionalDependencies>$(MSBuildThisFileDirectory)lib\x64\#Toolset#\Debug\signalrclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
21+
</Link>
22+
</ItemDefinitionGroup>
23+
<ItemDefinitionGroup Label="Win32 and #Toolset# and Release" Condition="'$(Platform.ToLower())' == 'Win32' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) == -1">
24+
<Link>
25+
<AdditionalDependencies>$(MSBuildThisFileDirectory)lib\Win32\#Toolset#\Release\signalrclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
26+
</Link>
27+
</ItemDefinitionGroup>
28+
<ItemDefinitionGroup Label="Win32 and #Toolset# and Debug" Condition="'$(Platform.ToLower())' == 'Win32' And '$(PlatformToolset.ToLower())' == '#Toolset#'">
29+
<Link>
30+
<AdditionalDependencies>$(MSBuildThisFileDirectory)lib\Win32\#Toolset#\Debug\signalrclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
31+
</Link>
32+
</ItemDefinitionGroup>
33+
34+
<Target Name="signalrclient_AfterBuild" AfterTargets="AfterBuild">
35+
<Copy DestinationFolder="$(TargetDir)" SourceFiles="@(CopyToOutput)" SkipUnchangedFiles="true" UseHardlinksIfPossible="true">
36+
<Output TaskParameter="DestinationFiles" PropertyName="DestinationFiles" />
37+
<Output TaskParameter="DestinationFiles" ItemName="DestinationFiles" />
38+
<Output TaskParameter="CopiedFiles" PropertyName="CopiedFiles" />
39+
<Output TaskParameter="CopiedFiles" ItemName="CopiedFiles" />
40+
</Copy>
41+
</Target>
42+
43+
<Target Name="signalrclient_inittarget">
44+
<ItemGroup Label="x64 and #Toolset# and Debug" Condition="'$(Platform.ToLower())' == 'x64' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) &gt; -1">
45+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Debug\signalrclient.dll" />
46+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Debug\signalrclient.pdb" />
47+
<None Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Debug\signalrclient.dll">
48+
<DeploymentContent>true</DeploymentContent>
49+
</None>
50+
<ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Debug\signalrclient.dll" />
51+
</ItemGroup>
52+
<ItemGroup Label="x64 and #Toolset# and Release" Condition="'$(Platform.ToLower())' == 'x64' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) == -1">
53+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Release\signalrclient.dll" />
54+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Release\signalrclient.pdb" />
55+
<None Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Release\signalrclient.dll">
56+
<DeploymentContent>true</DeploymentContent>
57+
</None>
58+
<ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)dll\x64\#Toolset#\Debug\signalrclient.dll" />
59+
</ItemGroup>
60+
<ItemGroup Label="Win32 and #Toolset# and Debug" Condition="'$(Platform.ToLower())' == 'Win32' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) &gt; -1">
61+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Debug\signalrclient.dll" />
62+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Debug\signalrclient.pdb" />
63+
<None Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Debug\signalrclient.dll">
64+
<DeploymentContent>true</DeploymentContent>
65+
</None>
66+
<ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Debug\signalrclient.dll" />
67+
</ItemGroup>
68+
<ItemGroup Label="Win32 and #Toolset# and Release" Condition="'$(Platform.ToLower())' == 'Win32' And '$(PlatformToolset.ToLower())' == '#Toolset#' And $(Configuration.ToLower().IndexOf('debug')) == -1">
69+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Release\signalrclient.dll" />
70+
<CopyToOutput Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Release\signalrclient.pdb" />
71+
<None Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Release\signalrclient.dll">
72+
<DeploymentContent>true</DeploymentContent>
73+
</None>
74+
<ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)dll\Win32\#Toolset#\Debug\signalrclient.dll" />
75+
</ItemGroup>
76+
</Target>
77+
</Project>

NuGet/Microsoft.AspNet.SignalR.Client.Cpp.v120.WinDesktop.targets

Lines changed: 0 additions & 77 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
<?xml version="1.0"?>
2-
<package>
3-
<metadata>
4-
<id>Microsoft.AspNet.SignalR.Client.Cpp.v120.WinDesktop</id>
5-
<title>Microsoft ASP.NET SignalR C++ Client</title>
6-
<version>0.0.0</version>
7-
<authors>Microsoft</authors>
8-
<owners>Microsoft</owners>
9-
<licenseUrl>http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm</licenseUrl>
10-
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11-
<projectUrl>http://www.asp.net/signalr</projectUrl>
12-
<requireLicenseAcceptance>true</requireLicenseAcceptance>
13-
<description>C++ client for ASP.NET SignalR.</description>
14-
<language>en-US</language>
15-
<tags>Microsoft AspNet SignalR AspNetSignalR Client C++ native</tags>
16-
<releaseNotes>https://github.com/SignalR/SignalR/releases</releaseNotes>
17-
<dependencies>
18-
<dependency id="cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn" version="2.5.0" />
19-
</dependencies>
20-
</metadata>
21-
</package>
1+
<?xml version="1.0"?>
2+
<package>
3+
<metadata>
4+
<id>Microsoft.AspNet.SignalR.Client.Cpp.#Toolset#.WinDesktop</id>
5+
<title>Microsoft ASP.NET SignalR C++ Client</title>
6+
<version>0.0.0</version>
7+
<authors>Microsoft</authors>
8+
<owners>Microsoft</owners>
9+
<licenseUrl>http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm</licenseUrl>
10+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11+
<projectUrl>http://www.asp.net/signalr</projectUrl>
12+
<requireLicenseAcceptance>true</requireLicenseAcceptance>
13+
<description>C++ client for ASP.NET SignalR.</description>
14+
<language>en-US</language>
15+
<tags>Microsoft AspNet SignalR AspNetSignalR Client C++ native</tags>
16+
<releaseNotes>https://github.com/SignalR/SignalR/releases</releaseNotes>
17+
<dependencies>
18+
<dependency id="cpprestsdk.#Toolset#.windesktop.msvcstl.dyn.rt-dyn" version="2.6.0" />
19+
</dependencies>
20+
</metadata>
21+
</package>

signalrclient.sln

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 2013
44
VisualStudioVersion = 12.0.31101.0
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclient", "src\signalrclient\Build\VS2013\signalrclient.vcxproj", "{87ED3AD4-D820-48CD-8382-A12564213A12}"
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclient", "src\signalrclient\Build\VS\signalrclient.vcxproj", "{87ED3AD4-D820-48CD-8382-A12564213A12}"
77
EndProject
8-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclienttests", "test\signalrclienttests\Build\VS2013\signalrclienttests.vcxproj", "{10376148-BCF4-4B55-98A5-3C98C87FD898}"
8+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclienttests", "test\signalrclienttests\Build\VS\signalrclienttests.vcxproj", "{10376148-BCF4-4B55-98A5-3C98C87FD898}"
99
EndProject
1010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "test\gtest-1.7.0\msvc\gtest.vcxproj", "{2AF210A9-5BDC-45E8-95DD-07B5A2616493}"
1111
EndProject
12-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclientdll", "src\signalrclientdll\Build\VS2013\signalrclientdll.vcxproj", "{18377AE8-E372-40CE-94FD-7F65008D39A3}"
12+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclientdll", "src\signalrclientdll\Build\VS\signalrclientdll.vcxproj", "{18377AE8-E372-40CE-94FD-7F65008D39A3}"
1313
EndProject
1414
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{063421D3-4E32-4BE5-874A-2E784B450858}"
1515
ProjectSection(SolutionItems) = preProject
@@ -20,7 +20,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{063421
2020
EndProject
2121
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{AABF08B1-12A4-4D06-A188-F01FBF8A9658}"
2222
EndProject
23-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclient-e2e-tests", "test\signalrclient-e2e-tests\Build\VS2013\signalrclient-e2e-tests.vcxproj", "{6006C96A-29F0-4B18-8DDD-764DC3419E2F}"
23+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signalrclient-e2e-tests", "test\signalrclient-e2e-tests\Build\VS\signalrclient-e2e-tests.vcxproj", "{6006C96A-29F0-4B18-8DDD-764DC3419E2F}"
2424
EndProject
2525
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "signalrclient-testhost", "test\signalrclient-testhost\signalrclient-testhost.csproj", "{11848039-1F13-4047-9539-8F9F45930788}"
2626
EndProject

0 commit comments

Comments
 (0)