@@ -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