Pārlūkot izejas kodu

Merge pull request #8876 from BastiaanOlij/fix_vs15

Fix a few issues compiling windows and using VS2015 and earlier
Rémi Verschelde 8 gadi atpakaļ
vecāks
revīzija
5b0ecc9ad3
3 mainītis faili ar 65 papildinājumiem un 58 dzēšanām
  1. 63 55
      methods.py
  2. 1 1
      platform/windows/os_windows.cpp
  3. 1 2
      platform/windows/os_windows.h

+ 63 - 55
methods.py

@@ -1594,61 +1594,69 @@ def detect_visual_c_compiler_version(tools_env):
     vc_chosen_compiler_index = -1
     vc_chosen_compiler_str = ""
 
-    # find() works with -1 so big ifs bellow are needed... the simplest solution, in fact
-    # First test if amd64 and amd64_x86 compilers are present in the path
-    vc_amd64_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN\\amd64;")
-    if(vc_amd64_compiler_detection_index > -1):
-        vc_chosen_compiler_index = vc_amd64_compiler_detection_index
-        vc_chosen_compiler_str = "amd64"
-
-    vc_amd64_x86_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN\\amd64_x86;")
-    if(vc_amd64_x86_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_amd64_x86_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_amd64_x86_compiler_detection_index
-        vc_chosen_compiler_str = "amd64_x86"
-
-    # Now check the 32 bit compilers
-    vc_x86_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN;")
-    if(vc_x86_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_x86_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_x86_compiler_detection_index
-        vc_chosen_compiler_str = "x86"
-
-    vc_x86_amd64_compiler_detection_index = tools_env["PATH"].find(tools_env['VCINSTALLDIR'] + "BIN\\x86_amd64;")
-    if(vc_x86_amd64_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_x86_amd64_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_x86_amd64_compiler_detection_index
-        vc_chosen_compiler_str = "x86_amd64"
-
-    # Newer versions have a different path available
-    vc_amd64_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX64\\X64;")
-    if(vc_amd64_compiler_detection_index > -1):
-        vc_chosen_compiler_index = vc_amd64_compiler_detection_index
-        vc_chosen_compiler_str = "amd64"
-
-    vc_amd64_x86_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX64\\X86;")
-    if(vc_amd64_x86_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_amd64_x86_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_amd64_x86_compiler_detection_index
-        vc_chosen_compiler_str = "amd64_x86"
-
-    vc_x86_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX86\\X86;")
-    if(vc_x86_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_x86_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_x86_compiler_detection_index
-        vc_chosen_compiler_str = "x86"
-
-    vc_x86_amd64_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX86\\X64;")
-    if(vc_x86_amd64_compiler_detection_index > -1
-       and (vc_chosen_compiler_index == -1
-            or vc_chosen_compiler_index > vc_x86_amd64_compiler_detection_index)):
-        vc_chosen_compiler_index = vc_x86_amd64_compiler_detection_index
-        vc_chosen_compiler_str = "x86_amd64"
+    # Start with Pre VS 2017 checks which uses VCINSTALLDIR:
+    if 'VCINSTALLDIR' in tools_env:
+        # print "Checking VCINSTALLDIR"
+
+        # find() works with -1 so big ifs bellow are needed... the simplest solution, in fact
+        # First test if amd64 and amd64_x86 compilers are present in the path
+        vc_amd64_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN\\amd64;")
+        if(vc_amd64_compiler_detection_index > -1):
+            vc_chosen_compiler_index = vc_amd64_compiler_detection_index
+            vc_chosen_compiler_str = "amd64"
+
+        vc_amd64_x86_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN\\amd64_x86;")
+        if(vc_amd64_x86_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_amd64_x86_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_amd64_x86_compiler_detection_index
+            vc_chosen_compiler_str = "amd64_x86"
+
+        # Now check the 32 bit compilers
+        vc_x86_compiler_detection_index = tools_env["PATH"].find(tools_env["VCINSTALLDIR"] + "BIN;")
+        if(vc_x86_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_x86_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_x86_compiler_detection_index
+            vc_chosen_compiler_str = "x86"
+
+        vc_x86_amd64_compiler_detection_index = tools_env["PATH"].find(tools_env['VCINSTALLDIR'] + "BIN\\x86_amd64;")
+        if(vc_x86_amd64_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_x86_amd64_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_x86_amd64_compiler_detection_index
+            vc_chosen_compiler_str = "x86_amd64"
+
+    # and for VS 2017 and newer we check VCTOOLSINSTALLDIR:
+    if 'VCTOOLSINSTALLDIR' in tools_env:
+        # print "Checking VCTOOLSINSTALLDIR"
+
+        # Newer versions have a different path available
+        vc_amd64_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX64\\X64;")
+        if(vc_amd64_compiler_detection_index > -1):
+            vc_chosen_compiler_index = vc_amd64_compiler_detection_index
+            vc_chosen_compiler_str = "amd64"
+
+        vc_amd64_x86_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX64\\X86;")
+        if(vc_amd64_x86_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_amd64_x86_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_amd64_x86_compiler_detection_index
+            vc_chosen_compiler_str = "amd64_x86"
+
+        vc_x86_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX86\\X86;")
+        if(vc_x86_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_x86_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_x86_compiler_detection_index
+            vc_chosen_compiler_str = "x86"
+
+        vc_x86_amd64_compiler_detection_index = tools_env["PATH"].upper().find(tools_env['VCTOOLSINSTALLDIR'].upper() + "BIN\\HOSTX86\\X64;")
+        if(vc_x86_amd64_compiler_detection_index > -1
+           and (vc_chosen_compiler_index == -1
+                or vc_chosen_compiler_index > vc_x86_amd64_compiler_detection_index)):
+            vc_chosen_compiler_index = vc_x86_amd64_compiler_detection_index
+            vc_chosen_compiler_str = "x86_amd64"
 
     # debug help
     # print vc_amd64_compiler_detection_index

+ 1 - 1
platform/windows/os_windows.cpp

@@ -565,7 +565,7 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
 					ScreenToClient(hWnd, &coords);
 
-					mb->set_pos(coords);
+					mb->set_pos(Vector2(coords.x, coords.y));
 				}
 
 				if (main_loop) {

+ 1 - 2
platform/windows/os_windows.h

@@ -68,8 +68,7 @@ class OS_Windows : public OS {
 
 	struct KeyEvent {
 
-		InputModifierState mod_state;
-		bool alt, shift, ctrl, meta;
+		bool alt, shift, control, meta;
 		UINT uMsg;
 		WPARAM wParam;
 		LPARAM lParam;