| 
									
										
										
										
											2016-10-17 08:50:25 +02:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | Import("env") | 
					
						
							| 
									
										
										
										
											2014-02-09 22:10:30 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-28 13:29:52 +02:00
										 |  |  | import os | 
					
						
							| 
									
										
										
										
											2018-03-17 23:23:55 +01:00
										 |  |  | from platform_methods import run_in_subprocess | 
					
						
							|  |  |  | import platform_windows_builders | 
					
						
							| 
									
										
										
										
											2014-02-09 22:10:30 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-30 18:57:40 +01:00
										 |  |  | common_win = [ | 
					
						
							| 
									
										
										
										
											2019-02-12 15:43:54 +01:00
										 |  |  |     "godot_windows.cpp", | 
					
						
							|  |  |  |     "crash_handler_windows.cpp", | 
					
						
							| 
									
										
										
										
											2016-10-30 18:44:57 +01:00
										 |  |  |     "os_windows.cpp", | 
					
						
							| 
									
										
										
										
											2020-03-09 12:56:48 -03:00
										 |  |  |     "display_server_windows.cpp", | 
					
						
							| 
									
										
										
										
											2019-02-12 15:43:54 +01:00
										 |  |  |     "key_mapping_windows.cpp", | 
					
						
							|  |  |  |     "joypad_windows.cpp", | 
					
						
							| 
									
										
										
										
											2021-11-04 14:33:37 +02:00
										 |  |  |     "tts_windows.cpp", | 
					
						
							| 
									
										
										
										
											2019-07-12 16:18:30 +03:00
										 |  |  |     "windows_terminal_logger.cpp", | 
					
						
							|  |  |  |     "vulkan_context_win.cpp", | 
					
						
							| 
									
										
										
										
											2020-11-18 18:11:30 +00:00
										 |  |  |     "gl_manager_windows.cpp", | 
					
						
							| 
									
										
										
										
											2014-02-09 22:10:30 -03:00
										 |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-14 13:18:25 +03:00
										 |  |  | common_win_wrap = [ | 
					
						
							|  |  |  |     "console_wrapper_windows.cpp", | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | res_file = "godot_res.rc" | 
					
						
							| 
									
										
										
										
											2018-08-31 23:53:18 -04:00
										 |  |  | res_target = "godot_res" + env["OBJSUFFIX"] | 
					
						
							|  |  |  | res_obj = env.RES(res_target, res_file) | 
					
						
							| 
									
										
										
										
											2015-11-09 02:23:58 +03:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | prog = env.add_program("#bin/godot", common_win + res_obj, PROGSUFFIX=env["PROGSUFFIX"]) | 
					
						
							| 
									
										
										
										
											2015-05-03 15:18:56 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-14 13:18:25 +03:00
										 |  |  | # Build console wrapper app. | 
					
						
							|  |  |  | if env["windows_subsystem"] == "gui": | 
					
						
							|  |  |  |     env_wrap = env.Clone() | 
					
						
							|  |  |  |     res_wrap_file = "godot_res_wrap.rc" | 
					
						
							|  |  |  |     res_wrap_target = "godot_res_wrap" + env["OBJSUFFIX"] | 
					
						
							|  |  |  |     res_wrap_obj = env_wrap.RES(res_wrap_target, res_wrap_file) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if env.msvc: | 
					
						
							|  |  |  |         env_wrap.Append(LINKFLAGS=["/SUBSYSTEM:CONSOLE"]) | 
					
						
							|  |  |  |         env_wrap.Append(LINKFLAGS=["version.lib"]) | 
					
						
							|  |  |  |     else: | 
					
						
							|  |  |  |         env_wrap.Append(LINKFLAGS=["-Wl,--subsystem,console"]) | 
					
						
							|  |  |  |         env_wrap.Append(LIBS=["version"]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     prog_wrap = env_wrap.add_program("#bin/godot", common_win_wrap + res_wrap_obj, PROGSUFFIX=env["PROGSUFFIX_WRAP"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-09 02:23:58 +03:30
										 |  |  | # Microsoft Visual Studio Project Generation | 
					
						
							| 
									
										
										
										
											2020-03-30 08:28:32 +02:00
										 |  |  | if env["vsproj"]: | 
					
						
							| 
									
										
										
										
											2020-09-19 16:39:11 +02:00
										 |  |  |     env.vs_srcs += ["platform/windows/" + res_file] | 
					
						
							|  |  |  |     env.vs_srcs += ["platform/windows/godot.natvis"] | 
					
						
							| 
									
										
										
										
											2016-10-30 18:44:57 +01:00
										 |  |  |     for x in common_win: | 
					
						
							| 
									
										
										
										
											2020-09-19 16:39:11 +02:00
										 |  |  |         env.vs_srcs += ["platform/windows/" + str(x)] | 
					
						
							| 
									
										
										
										
											2022-10-14 13:18:25 +03:00
										 |  |  |     if env["windows_subsystem"] == "gui": | 
					
						
							|  |  |  |         for x in common_win_wrap: | 
					
						
							|  |  |  |             env.vs_srcs += ["platform/windows/" + str(x)] | 
					
						
							| 
									
										
										
										
											2017-09-13 19:32:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | if not os.getenv("VCINSTALLDIR"): | 
					
						
							| 
									
										
										
										
											2021-02-08 08:52:21 +01:00
										 |  |  |     if env["debug_symbols"] and env["separate_debug_symbols"]: | 
					
						
							| 
									
										
										
										
											2018-03-17 23:23:55 +01:00
										 |  |  |         env.AddPostAction(prog, run_in_subprocess(platform_windows_builders.make_debug_mingw)) | 
					
						
							| 
									
										
										
										
											2022-10-14 13:18:25 +03:00
										 |  |  |         if env["windows_subsystem"] == "gui": | 
					
						
							|  |  |  |             env.AddPostAction(prog_wrap, run_in_subprocess(platform_windows_builders.make_debug_mingw)) |