Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.
 
 
 
 
 
 

82 lines
1.8 KiB

#! /usr/bin/env python
# encoding: utf-8
from waflib import Utils
import os
import vpc_parser
top = '.'
PROJECT_NAME = 'server'
games = {
'hl2': ['server_base.vpc', 'server_hl2.vpc'],
'episodic':['server_base.vpc', 'server_episodic.vpc'],
'hl2mp': ['server_base.vpc', 'server_hl2mp.vpc'],
'portal': ['server_base.vpc', 'server_portal.vpc'],
'hl1': ['server_base.vpc', 'server_hl1.vpc'],
'hl1mp': ['server_base.vpc', 'server_hl1.vpc'],
'cstrike': ['server_base.vpc', 'server_cstrike.vpc', 'nav_mesh.vpc'],
'dod': ['server_base.vpc', 'server_dod.vpc'],
'tf': [
'server_base.vpc',
'server_econ_base.vpc',
'tf/tf_gcmessages_include.vpc',
'nav_mesh.vpc',
'server_tf.vpc'
]
}
def options(opt):
return
def configure(conf):
game = conf.options.GAMES
conf.env.GAMES = game
conf.env.append_unique('DEFINES', ['DISABLE_STEAM=1'])
if game not in games.keys():
conf.fatal("Couldn't find game: ", game)
def build(bld):
game = vpc_parser.parse_vpcs( bld.env, games[bld.env.GAMES], '../..' )
includes = [
'.',
'../shared',
'../../utils/common',
'../shared/econ',
'NextBot',
'../../common',
'../../public/tier0',
'../../public/tier1',
'../../public'
]
defines = []
libs = ['tier0','particles','dmxloader','tier1','tier2','tier3','mathlib','vstdlib','choreoobjects','steam_api']
install_path = bld.env.PREFIX
if bld.env.DEST_OS != 'android':
install_path += '/'+bld.env.GAMES+'/bin'
source = game["sources"]
includes += game["includes"]
defines = game["defines"]
defines.remove('PROTECTED_THINGS_ENABLE')
bld.shlib(
source = source,
target = PROJECT_NAME,
name = PROJECT_NAME,
features = 'c cxx',
includes = includes,
defines = defines,
install_path = install_path,
use = libs,
subsystem = bld.env.MSVC_SUBSYSTEM,
idx = bld.get_taskgen_count()
)