* Add safetyhook, remove libudis86 Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com> * Add modified CDetour Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com> * Add CDetour [Safetyhook] to build script * Re-enable loader/core/corelogic, and fix new C++20 error * Reenable all extensions (except dhooks) * Make cstrike compile against new CDetour * Remove unused variable in sdktools output? * Make sdktools compile against new cdetour * Downgrade to C++17 * remove auto * fix compilation on linux * Re-enable dhooks * Re-authorise old compilers * Fix invalid downgrade of std::optional * readd libudis86 for dhooks only --------- Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com> Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com>
67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
|
import os
|
|
|
|
project = builder.LibraryProject('sdktools.ext')
|
|
project.sources += [
|
|
'extension.cpp',
|
|
'variant-t.cpp',
|
|
'inputnatives.cpp',
|
|
'output.cpp',
|
|
'outputnatives.cpp',
|
|
'tempents.cpp',
|
|
'tenatives.cpp',
|
|
'teamnatives.cpp',
|
|
'trnatives.cpp',
|
|
'vcaller.cpp',
|
|
'vcallbuilder.cpp',
|
|
'vdecoder.cpp',
|
|
'vglobals.cpp',
|
|
'vhelpers.cpp',
|
|
'vnatives.cpp',
|
|
'voice.cpp',
|
|
'vsound.cpp',
|
|
'clientnatives.cpp',
|
|
'hooks.cpp',
|
|
'gamerulesnatives.cpp',
|
|
'vstringtable.cpp',
|
|
'../../public/smsdk_ext.cpp'
|
|
]
|
|
|
|
for sdk_name in SM.sdks:
|
|
sdk = SM.sdks[sdk_name]
|
|
if sdk['name'] in ['mock']:
|
|
continue
|
|
|
|
for cxx in builder.targets:
|
|
if not cxx.target.arch in sdk['platforms'][cxx.target.platform]:
|
|
continue
|
|
|
|
binary = SM.HL2ExtConfig(project, builder, cxx, 'sdktools.ext.' + sdk['extension'], sdk)
|
|
SM.AddCDetour(binary)
|
|
|
|
binary.compiler.cxxincludes += [
|
|
os.path.join(builder.sourcePath, 'public', 'jit'),
|
|
os.path.join(builder.sourcePath, 'public', 'jit', 'x86'),
|
|
]
|
|
|
|
if sdk['name'] in ('episode1', 'darkm'):
|
|
binary.compiler.cxxincludes += [os.path.join(sdk['path'], 'game_shared')]
|
|
binary.compiler.cxxincludes += [os.path.join(sdk['path'], 'dlls')]
|
|
else:
|
|
binary.compiler.cxxincludes += [
|
|
os.path.join(sdk['path'], 'game', 'shared'),
|
|
os.path.join(sdk['path'], 'game', 'server'),
|
|
]
|
|
|
|
#binary.sources += [os.path.join(builder.options.hl2sdk_root, sdk['path'], 'game', 'server', 'variant_t.cpp')]
|
|
|
|
binary.compiler.defines += ['HAVE_STRING_H']
|
|
|
|
if sdk['name'] != 'episode1':
|
|
binary.compiler.defines += ['HOOKING_ENABLED']
|
|
|
|
if binary.compiler.behavior == 'gcc':
|
|
binary.compiler.cxxflags += ['-Wno-invalid-offsetof']
|
|
|
|
SM.extensions += builder.Add(project)
|