mkxp/meson.build

103 lines
2.5 KiB
Meson

project('mkxp',
'c', 'cpp',
default_options : [ 'c_std=c11', 'cpp_std=c++14'])
incdirs = include_directories(['assets', 'src'])
# xxd embedding
xxd_sh = find_program('tools/xxd.sh')
xxd_exe = find_program('xxd')
sed_exe = find_program('sed')
#bin2h_exe = executable('bin2h', 'tools/bin2h.c', native : true)
xxd_gen = generator(xxd_sh,
output : '@PLAINNAME@.xxd',
arguments : [ xxd_exe.path(), sed_exe.path(), '@INPUT@', '@OUTPUT@']
)
embedded = xxd_gen.process(
[
'assets/icon.png',
'assets/liberation.ttf',
'shader/bitmapBlit.frag',
'shader/blur.frag',
'shader/blurH.vert',
'shader/blurV.vert',
'shader/common.h',
'shader/flashMap.frag',
'shader/flatColor.frag',
'shader/gray.frag',
'shader/hue.frag',
'shader/minimal.vert',
'shader/plane.frag',
'shader/simple.frag',
'shader/simple.vert',
'shader/simpleAlpha.frag',
'shader/simpleAlphaUni.frag',
'shader/simpleColor.frag',
'shader/simpleColor.vert',
'shader/simpleMatrix.vert',
'shader/sprite.frag',
'shader/sprite.vert',
'shader/tilemap.vert',
'shader/tilemapvx.vert',
'shader/trans.frag',
'shader/transSimple.frag'
]
)
boost = dependency('boost', modules : ['program_options'])
openal = dependency('openal')
physfs = dependency('physfs', version : '>=2.1')
pixman = dependency('pixman-1')
sdl2 = dependency('sdl2')
sdl2_image = dependency('SDL2_image')
sdl2_ttf = dependency('SDL2_ttf')
sdl_sound = dependency('SDL_sound')
sigcxx = dependency('sigc++-2.0')
vorbisfile = dependency('vorbisfile')
zlib = dependency('zlib')
fluidsynth = []
if get_option('SHARED_FLUID')
fluidsynth = dependency('fluidsynth')
add_global_arguments('-DSHARED_FLUID', language : 'cpp')
endif
if get_option('RGSS2')
add_global_arguments('-DRGSS2', language : 'cpp')
endif
res = []
manifest = []
platdeps = []
if host_machine.system() == 'windows'
conf_data = configuration_data()
conf_data.set('ARCH', host_machine.cpu())
manifest = configure_file(
input : 'assets/mkxp.manifest.in',
output : 'mkxp.manifest',
configuration : conf_data
)
configure_file(
input : 'assets/runtime.manifest.in',
output : 'runtime.manifest',
configuration : conf_data
)
win = import('windows')
res = win.compile_resources([ 'assets/resource.rc' ],
include_directories : incdirs)
endif
subdir('-'.join(['binding', get_option('BINDING').to_lower()]))
subdir('src')
executable(
'mkxp',
sources : [ embedded, main_src, res ],
link_with : binding,
dependencies : [boost, fluidsynth, openal, physfs, pixman, sdl2,
sdl2_image, sdl2_ttf, sdl_sound, sigcxx, vorbisfile, zlib ],
include_directories : [ incdirs ]
)