You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.4 KiB
60 lines
1.4 KiB
#! /usr/bin/env python |
|
# encoding: utf-8 |
|
# a1batross, mittorn, 2018 |
|
|
|
from waflib import Utils |
|
import os |
|
|
|
def options(opt): |
|
return |
|
|
|
def configure(conf): |
|
if conf.env.COMPILER_CC == 'msvc': |
|
# hl.def removes MSVC function name decoration from GiveFnptrsToDll on Windows. |
|
# Without this, the lookup for this function fails. |
|
hlDefNode = conf.path.find_resource("./hl.def") |
|
|
|
if hlDefNode is not None: |
|
conf.env.append_value('LINKFLAGS', '/def:%s' % hlDefNode.abspath()) |
|
else: |
|
conf.fatal("Could not find hl.def") |
|
|
|
def build(bld): |
|
excluded_files = ['mpstubb.cpp', 'stats.cpp', 'prop.cpp', 'Wxdebug.cpp', 'gearbox/gearbox_client.cpp'] |
|
|
|
source = bld.path.ant_glob('**/*.cpp', excl=excluded_files) |
|
source += bld.path.parent.ant_glob('pm_shared/*.c') |
|
|
|
defines = [] |
|
if bld.env.USE_VOICEMGR: |
|
source += bld.path.parent.ant_glob('game_shared/voice_gamemgr.cpp') |
|
else: |
|
defines += ['NO_VOICEGAMEMGR'] |
|
|
|
includes = [ |
|
'.', |
|
'gearbox', |
|
'../common', |
|
'../engine', |
|
'../pm_shared', |
|
'../game_shared', |
|
'../public' |
|
] |
|
|
|
if bld.env.DEST_OS not in ['android', 'dos']: |
|
install_path = os.path.join(bld.env.GAMEDIR, bld.env.SERVER_INSTALL_DIR) |
|
else: |
|
install_path = bld.env.PREFIX |
|
|
|
bld.shlib( |
|
source = source, |
|
target = bld.env.SERVER_LIBRARY_NAME + bld.env.POSTFIX, |
|
name = 'server', |
|
features = 'c cxx', |
|
includes = includes, |
|
defines = defines, |
|
install_path = install_path, |
|
subsystem = bld.env.MSVC_SUBSYSTEM, |
|
idx = bld.get_taskgen_count() |
|
) |
|
|
|
|