mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-12-06 18:08:31 +00:00
87 lines
2.0 KiB
Meson
87 lines
2.0 KiB
Meson
core_src = [
|
|
'metamod.cpp',
|
|
'metamod_console.cpp',
|
|
'metamod_oslink.cpp',
|
|
'metamod_plugins.cpp',
|
|
'metamod_util.cpp',
|
|
'provider/provider_base.cpp',
|
|
'sourcehook/sourcehook.cpp',
|
|
'sourcehook/sourcehook_impl_chookidman.cpp',
|
|
'sourcehook/sourcehook_impl_chookmaninfo.cpp',
|
|
'sourcehook/sourcehook_impl_cproto.cpp',
|
|
'sourcehook/sourcehook_impl_cvfnptr.cpp',
|
|
'sourcehook/sourcehook_hookmangen.cpp',
|
|
'gamedll_bridge.cpp',
|
|
]
|
|
|
|
foreach sdk : get_option('sdks')
|
|
sdk_dep = dependency(sdk)
|
|
|
|
if sdk_dep.get_variable('engine') == 'source2'
|
|
sdk_src = [
|
|
'provider/source2/provider_source2.cpp',
|
|
]
|
|
sdk_cpp_args = [
|
|
'-DMETA_IS_SOURCE2',
|
|
]
|
|
else
|
|
sdk_src = [
|
|
'provider/source/provider_source.cpp',
|
|
'provider/source/provider_source_console.cpp',
|
|
'vsp_bridge.cpp',
|
|
]
|
|
endif
|
|
|
|
sdk_link_args = []
|
|
if target_machine.system() == 'linux'
|
|
if compiler.get_id() == 'gcc'
|
|
sdk_link_args += [
|
|
'-static-libgcc',
|
|
]
|
|
elif compiler.get_id() == 'clang'
|
|
sdk_link_args += [
|
|
'-lgcc_eh',
|
|
]
|
|
endif
|
|
sdk_link_args += [
|
|
'-static-libstdc++',
|
|
]
|
|
elif target_machine.system() == 'mac'
|
|
sdk_link_args += ['-liconv']
|
|
endif
|
|
|
|
if target_machine.cpu_family() == 'x86_64' and target_machine.system() != 'linux'
|
|
sdk_src += ['sourcehook/sourcehook_hookmangen_x86_64.cpp']
|
|
elif target_machine.cpu_family() == 'x86'
|
|
sdk_src += ['sourcehook/sourcehook_hookmangen_x86.cpp']
|
|
endif
|
|
|
|
build_target('metamod.' + sdk_dep.get_variable('suffix'),
|
|
name_prefix: '',
|
|
target_type: 'shared_library',
|
|
override_options: 'b_lundef=false',
|
|
sources: [
|
|
core_src,
|
|
sdk_src,
|
|
],
|
|
include_directories: [
|
|
core_inc,
|
|
loader_inc,
|
|
sourcehook_inc,
|
|
amtl_inc,
|
|
public_inc,
|
|
],
|
|
cpp_args: [
|
|
sdk_cpp_args
|
|
],
|
|
link_args: [
|
|
sdk_link_args,
|
|
],
|
|
dependencies: [
|
|
sdk_dep,
|
|
],
|
|
link_with: [
|
|
versionlib,
|
|
]
|
|
)
|
|
endforeach |