#!/usr/bin/env python

Import("env")

import os
from platform_methods import run_in_subprocess
import platform_windows_builders

common_win = [
    "pandemonium_windows.cpp",
    "context_gl_windows.cpp",
    "crash_handler_windows.cpp",
    "os_windows.cpp",
    "key_mapping_windows.cpp",
    "joypad_windows.cpp",
    "power_windows.cpp",
    "windows_terminal_logger.cpp",
    "sub_process_windows.cpp",
]

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

prog = env.add_program("#bin/pandemonium", 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/pandemonium.natvis"]
    for x in common_win:
        env.vs_srcs += ["platform/windows/" + str(x)]

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