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

Commit 7208aa5

Browse files
committed
[packages,VisualC,15.0] Fixes #336. The VisualStudio 2017 redist paths changed sometime between RTM and the 15.2 update. This broke local application deployment. Now using the C runtime version 14.10.25008 for x86 and x64.
1 parent 6127325 commit 7208aa5

File tree

2 files changed

+47
-13
lines changed

2 files changed

+47
-13
lines changed

Changelog.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
30-May-2017 Fixes #336. The VisualStudio 2017 redist paths changed sometime between RTM and the 15.2 update. This broke local application deployment. Now using the C runtime version 14.10.25008 for x86 and x64.
2+
13
16-May-2017 ======== Version 1.1.1 beta 4 Release ========
24

35
16-May-2017 Fixes #334. Following tests are now tested in Linux with additional build modes: ObjectiveCTest1 (Native,MakeFile); ProceduralHeaderTest1 (MakeFile); DeltaSettingsTest1 (MakeFile); EmbedStaticIntoDynamicLibrary (MakeFile); PublishingTest1 (MakeFile) and PublishingTest2 (MakeFile). In OSX, these tests are now tested in Xcode build mode: EmbedStaticIntoDynamicLibrary, ProceduralHeaderTest1, ProxyTest.

packages/VisualC-15.0/bam/Scripts/MetaData.cs

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,25 @@ public MetaData()
4848
{
4949
throw new Bam.Core.Exception("'{0}' was not found. Was VisualStudio 2017 installed?", this.InstallDir.Parse());
5050
}
51+
52+
this.VCToolsVersion = Bam.Core.TokenizedString.CreateVerbatim("14.10.25017");
53+
this.CRuntimeVersion = Bam.Core.TokenizedString.CreateVerbatim("14.10.25008");
54+
5155
if (Bam.Core.OSUtilities.Is64BitHosting)
5256
{
53-
this.Bin32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX64/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
54-
this.Bin64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
55-
this.MSPDBDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
57+
this.Bin32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX64/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
58+
this.Bin64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX64/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
59+
this.MSPDBDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX64/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
5660
}
5761
else
5862
{
59-
this.Bin32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
60-
this.Bin64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX86/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
61-
this.MSPDBDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
63+
this.Bin32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX86/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
64+
this.Bin64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX86/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
65+
this.MSPDBDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/bin/HostX86/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
6266
}
63-
this.IncludeDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/include", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
64-
this.Lib32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/lib/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
65-
this.Lib64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/14.10.25017/lib/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir));
67+
this.IncludeDir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/include", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
68+
this.Lib32Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/lib/x86", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
69+
this.Lib64Dir = Bam.Core.TokenizedString.Create("$(0)/VC/Tools/MSVC/$(1)/lib/x64", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.VCToolsVersion));
6670

6771
this.SolutionFormatVersion = "12.00"; // same as VS2015
6872
this.PlatformToolset = "v141";
@@ -287,6 +291,34 @@ public int
287291
}
288292
}
289293

294+
public Bam.Core.TokenizedString
295+
VCToolsVersion
296+
{
297+
get
298+
{
299+
return this.Meta["VCToolsVersion"] as Bam.Core.TokenizedString;
300+
}
301+
302+
private set
303+
{
304+
this.Meta["VCToolsVersion"] = value;
305+
}
306+
}
307+
308+
public Bam.Core.TokenizedString
309+
CRuntimeVersion
310+
{
311+
get
312+
{
313+
return this.Meta["CRuntimeVersion"] as Bam.Core.TokenizedString;
314+
}
315+
316+
private set
317+
{
318+
this.Meta["CRuntimeVersion"] = value;
319+
}
320+
}
321+
290322
Bam.Core.TokenizedStringArray
291323
VisualCCommon.IRuntimeLibraryPathMeta.CRuntimePaths(
292324
C.EBit depth)
@@ -302,14 +334,14 @@ public int
302334
{
303335
case C.EBit.ThirtyTwo:
304336
{
305-
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/redist/x86/Microsoft.VC150.CRT/vcruntime140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir)));
337+
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/Redist/MSVC/$(1)/x86/Microsoft.VC150.CRT/vcruntime140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.CRuntimeVersion)));
306338
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/Redist/ucrt/DLLs/x86/ucrtbase.dll", null, new Bam.Core.TokenizedStringArray(windowsSDKMeta.InstallDirSDK10)));
307339
}
308340
break;
309341

310342
case C.EBit.SixtyFour:
311343
{
312-
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/redist/x64/Microsoft.VC150.CRT/vcruntime140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir)));
344+
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/Redist/MSVC/$(1)/x64/Microsoft.VC150.CRT/vcruntime140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.CRuntimeVersion)));
313345
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/Redist/ucrt/DLLs/x64/ucrtbase.dll", null, new Bam.Core.TokenizedStringArray(windowsSDKMeta.InstallDirSDK10)));
314346
}
315347
break;
@@ -328,11 +360,11 @@ public int
328360
switch (depth)
329361
{
330362
case C.EBit.ThirtyTwo:
331-
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/redist/x86/Microsoft.VC150.CRT/msvcp140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir)));
363+
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/Redist/MSVC/$(1)/x86/Microsoft.VC150.CRT/msvcp140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.CRuntimeVersion)));
332364
break;
333365

334366
case C.EBit.SixtyFour:
335-
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/redist/x64/Microsoft.VC150.CRT/msvcp140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir)));
367+
dynamicLibPaths.Add(Bam.Core.TokenizedString.Create("$(0)/VC/Redist/MSVC/$(1)/x64/Microsoft.VC150.CRT/msvcp140.dll", null, new Bam.Core.TokenizedStringArray(this.InstallDir, this.CRuntimeVersion)));
336368
break;
337369

338370
default:

0 commit comments

Comments
 (0)