sm-ext-voice/AMBuilder
2022-09-24 17:05:37 +02:00

63 lines
2.0 KiB
Python

# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os
projectName = 'Voice'
for cxx in builder.targets:
for sdk_name in SM.sdks:
sdk = SM.sdks[sdk_name]
if not cxx.target.arch in sdk.platformSpec[cxx.target.platform]:
continue
binary = SM.HL2Library(builder, cxx, projectName + '.ext.' + sdk.ext, sdk)
binary.compiler.defines += [
'SOURCEMOD_BUILD',
'HAVE_STRING_H',
]
if cxx.target.platform == 'linux':
binary.compiler.postlink += ['-lpthread', '-lrt']
elif cxx.target.platform == 'mac':
binary.compiler.cflags += ['-Wno-deprecated-declarations']
binary.compiler.postlink += ['-framework', 'CoreServices']
binary.sources += [
'extension.cpp',
'ringbuffer.cpp',
os.path.join(SM.sm_root, 'extensions', 'sm-ext-common', 'mathstubs.c'),
os.path.join(SM.sm_root, 'public', 'smsdk_ext.cpp'),
os.path.join(SM.sm_root, 'public', 'CDetour', 'detours.cpp'),
os.path.join(SM.sm_root, 'public', 'asm', 'asm.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'decode.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'itab.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-att.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-intel.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'udis86.c'),
]
if sdk.name in ['csgo']:
binary.compiler.cxxincludes += [
os.path.join(SM.protobuf_root, 'include'),
os.path.join(SM.protobuf_valve_root),
]
binary.compiler.postlink += [
'-L' + os.path.join(SM.protobuf_root, 'lib'),
'-lprotobuf'
]
binary.sources += [
os.path.join(SM.protobuf_valve_root, 'csgo', 'netmessages.pb.cc'),
]
binary.compiler.cxxincludes += [
os.path.join(builder.sourcePath, 'celt')
]
binary.compiler.linkflags += [
os.path.join(builder.sourcePath, 'celt', 'libcelt0.a')
]
SM.extensions += [builder.Add(binary)]