summaryrefslogtreecommitdiff
path: root/platform/windows/SCsub
blob: 5030f4b3e0c2babb69abe8f144b785bcb6d036a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env python

import os
Import('env')

def make_debug_mingw(target, source, env):
    mingw_prefix = ""
    if (env["bits"] == "32"):
        mingw_prefix = env["mingw_prefix_32"]
    else:
        mingw_prefix = env["mingw_prefix_64"]
    os.system(mingw_prefix + 'objcopy --only-keep-debug %s %s.debug' % (target[0], target[0]))
    os.system(mingw_prefix + 'strip --strip-debug --strip-unneeded %s' % (target[0]))
    os.system(mingw_prefix + 'objcopy --add-gnu-debuglink=%s.debug %s' % (target[0], target[0]))

common_win = [
    "context_gl_win.cpp",
    "crash_handler_win.cpp",
    "os_windows.cpp",
    "ctxgl_procaddr.cpp",
    "key_mapping_win.cpp",
    "joypad.cpp",
    "power_windows.cpp",
    "windows_terminal_logger.cpp"
]

restarget = "godot_res" + env["OBJSUFFIX"]

obj = env.RES(restarget, 'godot_res.rc')

common_win.append(obj)

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

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

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