1
0
mirror of synced 2024-12-18 07:15:53 +01:00
micetools/meson.build

67 lines
2.1 KiB
Meson
Raw Normal View History

2022-10-30 18:33:02 +01:00
project('micetools', 'c', default_options: [
'buildtype=minsize',
# ! Toggle /\ and \/ when building for XP (minsize=normal, static=XP)
2022-12-24 04:04:04 +01:00
'b_vscrt=static_from_buildtype',
2022-10-30 18:33:02 +01:00
'warning_level=3',
])
2022-12-24 04:04:04 +01:00
winxp = true
2022-10-30 18:33:02 +01:00
subsystem = 'console,5.01'
if (host_machine.cpu_family() == 'x86')
add_project_arguments('-DMICE_WIN32', language: 'c')
endif
2022-12-24 04:04:04 +01:00
openssl_inc = include_directories('openssl-1.0.1/include')
openssl_lib = meson.get_compiler('c').find_library('libeay32', dirs: [
join_paths(meson.source_root(), 'openssl-1.0.1/lib')
], required: true)
assert(openssl_lib.found(), 'Please download openssl!')
add_project_link_arguments(
'/FIXED:NO',
'/DYNAMICBASE',
'/OPT:REF',
'/LTCG',
language: 'c'
)
2022-10-30 18:33:02 +01:00
add_project_arguments(
'/DWIN32_LEAN_AND_MEAN', # Strip out headers we don't really need
'/D_WIN32_WINNT=_WIN32_WINNT_WINXP', # hahahahaha I hate it
2022-12-24 04:04:04 +01:00
'/DCIMGUI_DEFINE_ENUMS_AND_STRUCTS',
# Strip out as much crud as we can to keep XP builds small
'/Os', '/EHc-', '/EHa-', '/EHs-', '/GL', '/GR-',
2022-10-30 18:33:02 +01:00
'/wd4100', # basically every hook causes "unreferenced formal parameter"
'/wd4152', # hooks: function/data pointer conversion in expression
'/wd4200', # zero-sized arrays
'/wd4201', # ewfapi.h: nameless struct/union
'/wd4204', # non-constant aggregate initializer
2022-10-30 18:33:02 +01:00
'/wd4206', # empty C files
'/wd4214', # windns.h: nonstandard extension used: bit field types other than int
'/wd4706', # assignment within conditional expression
2022-10-30 18:33:02 +01:00
'/wd4189', # lots of keychip functions aren't 100% implemented yet
'/we4047', # ... differs in levels of indirection from ...
'/we4057', # ... differs in levels of indirection (slightly) from ...
'/we4024', # ... different types for formal and actual paramter ...
'/we4013', # ... undefined; assuming extern returning int
language: 'c',
)
if winxp
add_project_arguments(
'/D_USING_V140_SDK71_',
'/DSFML_STATIC',
'/DYNAMICBASE:NO',
language: 'c',
)
endif
subdir('assets')
subdir('src')