#! /usr/bin/env python # encoding: utf-8 # a1batross, mittorn, 2018 from waflib import Logs import os top = '.' def options(opt): # stub return def configure(conf): if(conf.env.SINGLE_BINARY): return # check for dedicated server build if not conf.env.DEDICATED: if conf.env.DEST_OS != 'win32': # We need SDL2 for showing messagebox in case launcher has failed # TODO: add way to specify SDL2 path, move to separate function try: conf.check_cfg( path='sdl2-config', args='--cflags --libs', package='', msg='Checking for SDL2', uselib_store='SDL2') except conf.errors.ConfigurationError: conf.fatal('SDL2 not availiable! If you want to build dedicated server, specify --dedicated') conf.env.append_unique('DEFINES', 'XASH_SDL') else: conf.check(lib='USER32') conf.check(lib='SHELL32') def get_subproject_name(ctx): return os.path.basename(os.path.realpath(str(ctx.path))) def build(bld): if bld.env.SINGLE_BINARY: return bld.load_envs() bld.env = bld.all_envs[get_subproject_name(bld)] source = ['game.cpp'] includes = '. ../common' libs = [] if bld.env.DEST_OS != 'win32': libs += [ 'DL' ] if not bld.env.DEDICATED: libs += [ 'SDL2' ] else: # compile resource on Windows bld.load('winres') libs += ['USER32', 'SHELL32'] source += ['game.rc'] bld( source = source, target = 'xash3d', # hl.exe features = 'c cprogram', includes = includes, use = libs, install_path = bld.env.BINDIR )