forked from Dniel97/segatools
beerpsi
4041844ea9
[UnityDoorstop](https://github.com/NeighTools/UnityDoorstop) is a tool to execute managed code (.NET DLLs) before Unity does, useful for modding frameworks such as BepInEx. This PR integrates parts of its code into segatools, so loading BepInEx is as simple as adding 2 lines to `segatools.ini`: ```ini [unity] targetAssembly=BepInEx\core\BepInEx.Preloader.dll ``` This PR also factors out the Unity path redirection hooks to its own module. Reviewed-on: Dniel97/segatools#11 Co-authored-by: beerpsi <beerpsi@duck.com> Co-committed-by: beerpsi <beerpsi@duck.com>
89 lines
1.7 KiB
Meson
89 lines
1.7 KiB
Meson
project(
|
|
'segatools',
|
|
'c',
|
|
version: '0.1.0',
|
|
default_options: [
|
|
'werror=true',
|
|
],
|
|
)
|
|
|
|
add_project_arguments(
|
|
'-DCOBJMACROS',
|
|
'-DDIRECTINPUT_VERSION=0x0800',
|
|
'-DWIN32_LEAN_AND_MEAN',
|
|
'-D_WIN32_WINNT=_WIN32_WINNT_WIN7',
|
|
'-DMINGW_HAS_SECURE_API=1',
|
|
'-Wno-unused',
|
|
language: 'c',
|
|
)
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
if cc.get_id() != 'msvc'
|
|
add_project_arguments(
|
|
'-ffunction-sections',
|
|
'-fdata-sections',
|
|
'-flto', # Enable Link-Time Optimization
|
|
language: 'c',
|
|
)
|
|
|
|
add_project_link_arguments(
|
|
'-Wl,--enable-stdcall-fixup',
|
|
'-Wl,--exclude-all-symbols',
|
|
'-Wl,--gc-sections',
|
|
'-static-libgcc',
|
|
'-flto', # Enable Link-Time Optimization
|
|
'-Wl,-s', # Strip debug symbols
|
|
language: 'c',
|
|
)
|
|
endif
|
|
|
|
shlwapi_lib = cc.find_library('shlwapi')
|
|
dinput8_lib = cc.find_library('dinput8')
|
|
dxguid_lib = cc.find_library('dxguid')
|
|
xinput_lib = cc.find_library('xinput')
|
|
pathcch_lib = cc.find_library('pathcch')
|
|
|
|
inc = include_directories('.')
|
|
capnhook = subproject('capnhook')
|
|
|
|
subdir('amex')
|
|
subdir('iccard')
|
|
subdir('board')
|
|
subdir('hooklib')
|
|
subdir('jvs')
|
|
subdir('platform')
|
|
subdir('util')
|
|
|
|
subdir('gfxhook')
|
|
subdir('unityhook')
|
|
|
|
subdir('aimeio')
|
|
subdir('chuniio')
|
|
subdir('divaio')
|
|
subdir('carolio')
|
|
subdir('idzio')
|
|
subdir('idacio')
|
|
subdir('swdcio')
|
|
subdir('mu3io')
|
|
subdir('mai2io')
|
|
subdir('cmio')
|
|
subdir('mercuryio')
|
|
subdir('cxbio')
|
|
subdir('fgoio')
|
|
|
|
subdir('chunihook')
|
|
subdir('divahook')
|
|
subdir('carolhook')
|
|
subdir('idzhook')
|
|
subdir('idachook')
|
|
subdir('swdchook')
|
|
subdir('minihook')
|
|
subdir('chusanhook')
|
|
subdir('mu3hook')
|
|
subdir('mai2hook')
|
|
subdir('cmhook')
|
|
subdir('mercuryhook')
|
|
subdir('cxbhook')
|
|
subdir('fgohook')
|