|
@@ -2051,9 +2051,56 @@ def SdkLocateWindows(version = '7.1'):
|
|
|
version = version.upper()
|
|
version = version.upper()
|
|
|
|
|
|
|
|
if version == '10':
|
|
if version == '10':
|
|
|
|
|
+ version = '10.0'
|
|
|
|
|
+
|
|
|
|
|
+ if version.startswith('10.') and version.count('.') == 1:
|
|
|
|
|
+ # Choose the latest version of the Windows 10 SDK.
|
|
|
|
|
+ platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot10")
|
|
|
|
|
+
|
|
|
|
|
+ if platsdk and os.path.isdir(platsdk):
|
|
|
|
|
+ incdirs = glob.glob(os.path.join(platsdk, 'Include', version + '.*.*'))
|
|
|
|
|
+ max_version = ()
|
|
|
|
|
+ for dir in incdirs:
|
|
|
|
|
+ verstring = os.path.basename(dir)
|
|
|
|
|
+
|
|
|
|
|
+ # Check that the important include directories exist.
|
|
|
|
|
+ if not os.path.isdir(os.path.join(dir, 'ucrt')):
|
|
|
|
|
+ continue
|
|
|
|
|
+ if not os.path.isdir(os.path.join(dir, 'shared')):
|
|
|
|
|
+ continue
|
|
|
|
|
+ if not os.path.isdir(os.path.join(dir, 'um')):
|
|
|
|
|
+ continue
|
|
|
|
|
+ if not os.path.isdir(os.path.join(platsdk, 'Lib', verstring, 'ucrt')):
|
|
|
|
|
+ continue
|
|
|
|
|
+ if not os.path.isdir(os.path.join(platsdk, 'Lib', verstring, 'um')):
|
|
|
|
|
+ continue
|
|
|
|
|
+
|
|
|
|
|
+ print(verstring)
|
|
|
|
|
+ vertuple = tuple(map(int, verstring.split('.')))
|
|
|
|
|
+ if vertuple > max_version:
|
|
|
|
|
+ version = verstring
|
|
|
|
|
+ max_version = vertuple
|
|
|
|
|
+
|
|
|
|
|
+ if not max_version:
|
|
|
|
|
+ # No suitable version found.
|
|
|
|
|
+ platsdk = None
|
|
|
|
|
+
|
|
|
|
|
+ elif version.startswith('10.'):
|
|
|
|
|
+ # We chose a specific version of the Windows 10 SDK. Verify it exists.
|
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot10")
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot10")
|
|
|
|
|
+
|
|
|
|
|
+ if version.count('.') == 2:
|
|
|
|
|
+ version += '.0'
|
|
|
|
|
+
|
|
|
|
|
+ if platsdk and not os.path.isdir(os.path.join(platsdk, 'Include', version)):
|
|
|
|
|
+ platsdk = None
|
|
|
|
|
+
|
|
|
|
|
+ elif version == '8.1':
|
|
|
|
|
+ platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot81")
|
|
|
|
|
+
|
|
|
elif version == '8.0':
|
|
elif version == '8.0':
|
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot")
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot")
|
|
|
|
|
+
|
|
|
else:
|
|
else:
|
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v" + version, "InstallationFolder")
|
|
platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v" + version, "InstallationFolder")
|
|
|
|
|
|
|
@@ -2320,12 +2367,13 @@ def SetupVisualStudioEnviron():
|
|
|
AddToPathEnv("LIB", SDK["VISUALSTUDIO"] + "VC\\lib\\" + libdir)
|
|
AddToPathEnv("LIB", SDK["VISUALSTUDIO"] + "VC\\lib\\" + libdir)
|
|
|
AddToPathEnv("LIB", SDK["VISUALSTUDIO"] + "VC\\atlmfc\\lib\\" + libdir)
|
|
AddToPathEnv("LIB", SDK["VISUALSTUDIO"] + "VC\\atlmfc\\lib\\" + libdir)
|
|
|
|
|
|
|
|
- if SDK["MSPLATFORM_VERSION"] == '10':
|
|
|
|
|
|
|
+ winsdk_ver = SDK["MSPLATFORM_VERSION"]
|
|
|
|
|
+ if winsdk_ver.startswith('10.'):
|
|
|
AddToPathEnv("PATH", SDK["MSPLATFORM"] + "bin\\" + arch)
|
|
AddToPathEnv("PATH", SDK["MSPLATFORM"] + "bin\\" + arch)
|
|
|
|
|
|
|
|
# Windows Kit 10 introduces the "universal CRT".
|
|
# Windows Kit 10 introduces the "universal CRT".
|
|
|
- inc_dir = SDK["MSPLATFORM"] + "Include\\10.0.10586.0\\"
|
|
|
|
|
- lib_dir = SDK["MSPLATFORM"] + "Lib\\10.0.10586.0\\"
|
|
|
|
|
|
|
+ inc_dir = SDK["MSPLATFORM"] + "Include\\" + winsdk_ver + "\\"
|
|
|
|
|
+ lib_dir = SDK["MSPLATFORM"] + "Lib\\" + winsdk_ver + "\\"
|
|
|
AddToPathEnv("INCLUDE", inc_dir + "shared")
|
|
AddToPathEnv("INCLUDE", inc_dir + "shared")
|
|
|
AddToPathEnv("INCLUDE", inc_dir + "ucrt")
|
|
AddToPathEnv("INCLUDE", inc_dir + "ucrt")
|
|
|
AddToPathEnv("INCLUDE", inc_dir + "um")
|
|
AddToPathEnv("INCLUDE", inc_dir + "um")
|
|
@@ -2353,7 +2401,7 @@ def SetupVisualStudioEnviron():
|
|
|
|
|
|
|
|
# Targeting the 7.1 SDK (which is the only way to have Windows XP support)
|
|
# Targeting the 7.1 SDK (which is the only way to have Windows XP support)
|
|
|
# with Visual Studio 2015 requires use of the Universal CRT.
|
|
# with Visual Studio 2015 requires use of the Universal CRT.
|
|
|
- if SDK["MSPLATFORM_VERSION"] == '7.1' and SDK["VISUALSTUDIO_VERSION"] == '14.0':
|
|
|
|
|
|
|
+ if winsdk_ver == '7.1' and SDK["VISUALSTUDIO_VERSION"] == '14.0':
|
|
|
win_kit = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot10")
|
|
win_kit = GetRegistryKey("SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots", "KitsRoot10")
|
|
|
AddToPathEnv("LIB", win_kit + "Lib\\10.0.10150.0\\ucrt\\" + arch)
|
|
AddToPathEnv("LIB", win_kit + "Lib\\10.0.10150.0\\ucrt\\" + arch)
|
|
|
AddToPathEnv("INCLUDE", win_kit + "Include\\10.0.10150.0\\ucrt")
|
|
AddToPathEnv("INCLUDE", win_kit + "Include\\10.0.10150.0\\ucrt")
|