Win32
Release
v140
v120
v110
v100
$(BasePlatformToolset)
false
true
amd64
win32
$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)\..\))
$(PySourcePath)\
$(PySourcePath)PCBuild\win32\
$(Py_OutDir)\win32\
$(PySourcePath)PCBuild\amd64\
$(Py_OutDir)\amd64\
$(BuildPath32)
$(BuildPath64)
$(PySourcePath)PCBuild\$(ArchName)\
$(BuildPath)\
$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))
$(ExternalsDir)sqlite-3.14.1.0\
$(ExternalsDir)bzip2-1.0.6\
$(ExternalsDir)xz-5.2.2\
$(ExternalsDir)openssl-1.0.2h\
$(opensslDir)include32
$(opensslDir)include64
$(ExternalsDir)\nasm-2.11.06\
_d
-test
-32
$(BuildPath)python$(PyDebugExt).exe
<_PatchLevelContent>$([System.IO.File]::ReadAllText(`$(PySourcePath)Include\patchlevel.h`))
$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MAJOR_VERSION\s+(\d+)`).Groups[1].Value)
$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MINOR_VERSION\s+(\d+)`).Groups[1].Value)
$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MICRO_VERSION\s+(\d+)`).Groups[1].Value)
<_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_LEVEL\s+PY_RELEASE_LEVEL_(\w+)`).Groups[1].Value)
$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_SERIAL\s+(\d+)`).Groups[1].Value)
15
10
11
12
a$(ReleaseSerial)
b$(ReleaseSerial)
rc$(ReleaseSerial)
$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[1].Value)
$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[2].Value)
$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[3].Value)
$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[4].Value)
<_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[5].Value)
$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[6].Value)
0
15
10
11
12
$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)
$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)$(ReleaseLevelName)
$([msbuild]::BitwiseOr(
$([msbuild]::Multiply($(MajorVersionNumber), 16777216)),
$([msbuild]::BitwiseOr(
$([msbuild]::Multiply($(MinorVersionNumber), 65536)),
$([msbuild]::BitwiseOr(
$([msbuild]::Multiply($(MicroVersionNumber), 256)),
$([msbuild]::BitwiseOr(
$([msbuild]::Multiply($(ReleaseLevelNumber), 16)),
$(ReleaseSerial)
))
))
))
))
$([msbuild]::Add(
$(ReleaseSerial),
$([msbuild]::Add(
$([msbuild]::Multiply($(ReleaseLevelNumber), 10)),
$([msbuild]::Multiply($(MicroVersionNumber), 1000))
))
))
$([msbuild]::Add($(Field3Value), 9000))
python$(MajorVersionNumber)$(MinorVersionNumber)$(PyDebugExt)
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32
.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64
$(MajorVersionNumber).$(MinorVersionNumber)$(PyArchExt)$(PyTestExt)