Browse Source

Forgot to commit changes to makepanda for Win7 support.

Walt Destler 15 năm trước cách đây
mục cha
commit
51e708ade8

+ 8 - 1
makepanda/makepanda.py

@@ -668,7 +668,14 @@ def CompileCxx(obj,src,opts):
         cmd = "cl "
         cmd = "cl "
         if (platform.architecture()[0]=="64bit"):
         if (platform.architecture()[0]=="64bit"):
             cmd += "/favor:blend "
             cmd += "/favor:blend "
-        cmd += "/wd4996 /wd4275 /wd4267 /wd4101 /wd4273 /Fo" + obj + " /nologo /c"
+        cmd += "/wd4996 /wd4275 /wd4267 /wd4101 /wd4273 "
+        
+        # Enables Windows 7 mode if SDK is detected.
+        platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.0", "InstallationFolder")
+        if platsdk and os.path.isdir(platsdk):
+            cmd += "/DPANDA_WIN7 /DWINVER=0x601 "
+            
+        cmd += "/Fo" + obj + " /nologo /c"
         for x in ipath: cmd += " /I" + x
         for x in ipath: cmd += " /I" + x
         for (opt,dir) in INCDIRECTORIES:
         for (opt,dir) in INCDIRECTORIES:
             if (opt=="ALWAYS") or (opts.count(opt)): cmd += " /I" + BracketNameWithQuotes(dir)
             if (opt=="ALWAYS") or (opts.count(opt)): cmd += " /I" + BracketNameWithQuotes(dir)

+ 8 - 2
makepanda/makepandacore.py

@@ -1411,8 +1411,14 @@ def SdkLocateVisualStudio():
 
 
 def SdkLocateMSPlatform():
 def SdkLocateMSPlatform():
     if (sys.platform != "win32"): return
     if (sys.platform != "win32"): return
-    platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1", "Install Dir")
-    if (platsdk and not os.path.isdir(platsdk)): platsdk = 0
+    platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.0", "InstallationFolder")
+    if (platsdk and not os.path.isdir(platsdk)):
+        platsdk = 0
+    else:
+        print "Windows 7 SDK detected. Enabling special features (multi-touch)."
+    if (platsdk == 0):
+        platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1", "Install Dir")
+        if (platsdk and not os.path.isdir(platsdk)): platsdk = 0
     if (platsdk == 0):
     if (platsdk == 0):
         platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1","InstallationFolder")
         platsdk = GetRegistryKey("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1","InstallationFolder")
         if (platsdk and not os.path.isdir(platsdk)): platsdk = 0
         if (platsdk and not os.path.isdir(platsdk)): platsdk = 0