#!/usr/bin/env python

Import("env")

import os
from platform_methods import run_in_subprocess
import platform_windows_builders

common_win = [
    "godot_windows.cpp",
    "crash_handler_windows.cpp",
    "os_windows.cpp",
    "display_server_windows.cpp",
    "key_mapping_windows.cpp",
    "joypad_windows.cpp",
    "windows_terminal_logger.cpp",
    "vulkan_context_win.cpp",
    "context_gl_windows.cpp",
]

res_file = "godot_res.rc"
res_target = "godot_res" + env["OBJSUFFIX"]
res_obj = env.RES(res_target, res_file)

prog = env.add_program("#bin/godot", common_win + res_obj, PROGSUFFIX=env["PROGSUFFIX"])

# Microsoft Visual Studio Project Generation
if env["vsproj"]:
    env.vs_srcs += ["platform/windows/" + res_file]
    env.vs_srcs += ["platform/windows/godot.natvis"]
    for x in common_win:
        env.vs_srcs += ["platform/windows/" + str(x)]

if not os.getenv("VCINSTALLDIR"):
    if (env["debug_symbols"] == "full" or env["debug_symbols"] == "yes") and env["separate_debug_symbols"]:
        env.AddPostAction(prog, run_in_subprocess(platform_windows_builders.make_debug_mingw))