2018-12-18 18:15:26 +00:00
|
|
|
project('snes9x-gtk',
|
|
|
|
['c', 'cpp'],
|
2022-01-30 23:52:50 +00:00
|
|
|
version: '1.61',
|
2022-03-24 21:37:35 +00:00
|
|
|
meson_version: '>=0.56.2',
|
2022-03-22 19:09:30 +00:00
|
|
|
subproject_dir: 'external',
|
2020-07-29 23:32:46 +00:00
|
|
|
default_options: ['cpp_std=c++17'])
|
2018-12-18 02:16:28 +00:00
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
args = ['-DSNES9X_GTK', '-DUNZIP_SUPPORT', '-DNETPLAY_SUPPORT', '-DJMA_SUPPORT', '-Wall', '-W', '-Wno-unused-parameter']
|
2018-12-18 02:16:28 +00:00
|
|
|
srcs = []
|
|
|
|
deps = []
|
2018-12-21 00:57:36 +00:00
|
|
|
includes = ['../apu/bapu', '../', 'src']
|
|
|
|
warns = []
|
2020-07-29 23:32:46 +00:00
|
|
|
libs = []
|
2018-12-18 02:16:28 +00:00
|
|
|
|
|
|
|
prefix = get_option('prefix')
|
|
|
|
localedir = join_paths(prefix, get_option('localedir'))
|
2018-12-18 21:49:53 +00:00
|
|
|
datadir = get_option('datadir')
|
|
|
|
appdatadir = get_option ('appdatadir')
|
|
|
|
if appdatadir == ''
|
|
|
|
appdatadir = join_paths(prefix, datadir, 'snes9x')
|
2018-12-21 00:57:36 +00:00
|
|
|
else
|
|
|
|
appdatadir = join_paths(prefix, datadir, appdatadir)
|
2018-12-18 21:49:53 +00:00
|
|
|
endif
|
|
|
|
args += [ '-DDATADIR="' + appdatadir + '"', '-DSNES9XLOCALEDIR="' + localedir + '"' ]
|
|
|
|
|
|
|
|
subdir('data')
|
|
|
|
subdir('po')
|
2018-12-18 02:16:28 +00:00
|
|
|
|
|
|
|
sdl2_dep = dependency('sdl2')
|
|
|
|
|
2020-07-04 22:53:38 +00:00
|
|
|
deps += sdl2_dep
|
2018-12-18 02:16:28 +00:00
|
|
|
|
|
|
|
c_compiler = meson.get_compiler('c')
|
|
|
|
|
2018-12-18 02:28:30 +00:00
|
|
|
if c_compiler.version().version_compare('>=7.0.0') and c_compiler.get_id() == 'gcc'
|
|
|
|
args += '-Wno-format-truncation'
|
|
|
|
endif
|
|
|
|
|
2020-07-04 22:53:38 +00:00
|
|
|
gtk_dep = dependency('gtkmm-3.0', version: '>= 3.22')
|
2018-12-18 02:16:28 +00:00
|
|
|
deps += gtk_dep
|
|
|
|
|
2020-07-21 19:17:15 +00:00
|
|
|
gthread_dep = dependency('gthread-2.0')
|
|
|
|
deps += gthread_dep
|
|
|
|
|
2018-12-18 02:16:28 +00:00
|
|
|
x11_dep = c_compiler.find_library('X11')
|
|
|
|
xext_dep = c_compiler.find_library('Xext')
|
|
|
|
dl_dep = c_compiler.find_library('dl')
|
|
|
|
deps += x11_dep
|
|
|
|
deps += xext_dep
|
|
|
|
deps += dl_dep
|
|
|
|
|
|
|
|
xrandr_dep = dependency('xrandr')
|
|
|
|
deps += xrandr_dep
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
opengl = get_option('opengl')
|
|
|
|
if opengl
|
2018-12-18 02:16:28 +00:00
|
|
|
opengl_dep = dependency('epoxy', required: false)
|
|
|
|
|
2020-07-29 23:32:46 +00:00
|
|
|
if opengl_dep.found()
|
2018-12-18 02:16:28 +00:00
|
|
|
args += '-DUSE_OPENGL'
|
|
|
|
srcs += [ 'src/gtk_display_driver_opengl.cpp',
|
|
|
|
'src/gtk_display_driver_opengl.h',
|
|
|
|
'src/gtk_glx_context.cpp',
|
|
|
|
'src/gtk_glx_context.h',
|
|
|
|
'../shaders/glsl.cpp',
|
|
|
|
'../shaders/shader_helpers.cpp',
|
|
|
|
'src/gtk_shader_parameters.cpp' ]
|
|
|
|
deps += opengl_dep
|
2018-12-21 00:57:36 +00:00
|
|
|
else
|
|
|
|
opengl = false
|
|
|
|
warns += 'libepoxy not found. OpenGL will disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2019-01-25 19:28:24 +00:00
|
|
|
slang = get_option('slang')
|
2019-01-25 22:56:17 +00:00
|
|
|
if slang and opengl
|
2022-03-22 19:09:30 +00:00
|
|
|
|
|
|
|
cmake = import('cmake')
|
|
|
|
|
|
|
|
glslang_opt_var = cmake.subproject_options()
|
|
|
|
glslang_opt_var.add_cmake_defines({'BUILD_TESTING': false})
|
|
|
|
glslang_pro = cmake.subproject('glslang', options: glslang_opt_var)
|
|
|
|
# deps += glslang_pro.dependency('GenericCodeGen')
|
|
|
|
deps += glslang_pro.dependency('glslang')
|
|
|
|
# deps += glslang_pro.dependency('MachineIndependent')
|
|
|
|
deps += glslang_pro.dependency('OGLCompiler')
|
|
|
|
deps += glslang_pro.dependency('HLSL')
|
|
|
|
deps += glslang_pro.dependency('OSDependent')
|
|
|
|
deps += glslang_pro.dependency('SPIRV')
|
|
|
|
deps += glslang_pro.dependency('glslang-default-resource-limits')
|
|
|
|
|
|
|
|
spirv_cross_opt_var = cmake.subproject_options()
|
|
|
|
spirv_cross_opt_var.add_cmake_defines({'SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS': true})
|
|
|
|
spirv_cross_pro = cmake.subproject('SPIRV-Cross', options: spirv_cross_opt_var)
|
|
|
|
deps += spirv_cross_pro.dependency('spirv-cross-core')
|
|
|
|
deps += spirv_cross_pro.dependency('spirv-cross-glsl')
|
|
|
|
deps += spirv_cross_pro.dependency('spirv-cross-reflect')
|
|
|
|
deps += spirv_cross_pro.dependency('spirv-cross-cpp')
|
|
|
|
|
|
|
|
args += ['-DUSE_SLANG']
|
|
|
|
srcs += '../shaders/slang.cpp'
|
2022-03-18 20:15:53 +00:00
|
|
|
includes += '../external/glslang'
|
2019-01-25 19:28:24 +00:00
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
wayland = get_option('wayland')
|
2020-07-04 22:53:38 +00:00
|
|
|
if wayland
|
2022-01-31 22:32:27 +00:00
|
|
|
wayland_client_dep = dependency('wayland-client', required: false)
|
2018-12-18 02:16:28 +00:00
|
|
|
wayland_dep = dependency('wayland-egl', required: false)
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2022-01-31 22:32:27 +00:00
|
|
|
if wayland_dep.found() and wayland_client_dep.found()
|
2018-12-18 02:16:28 +00:00
|
|
|
args += '-DUSE_WAYLAND'
|
2022-01-31 03:23:33 +00:00
|
|
|
srcs += ['src/gtk_wayland_egl_context.cpp', 'src/gtk_wayland_egl_context.h', 'src/wayland-idle-inhibit-unstable-v1.c']
|
2022-01-31 22:32:27 +00:00
|
|
|
deps += [wayland_dep, wayland_client_dep]
|
2018-12-18 02:16:28 +00:00
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
wayland = false
|
|
|
|
warns += 'wayland-egl not found. Wayland will be disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
xv = get_option('xv')
|
|
|
|
if xv
|
2018-12-18 02:16:28 +00:00
|
|
|
xv_dep = dependency('xv', required: false)
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2018-12-18 02:16:28 +00:00
|
|
|
if xv_dep.found()
|
|
|
|
args += '-DUSE_XV'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['src/gtk_display_driver_xv.cpp', 'src/gtk_display_driver_xv.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
deps += xv_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
xv = false
|
|
|
|
warns += 'XV/XVideo was not found. It will be disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
portaudio = get_option('portaudio')
|
|
|
|
if portaudio
|
2018-12-18 02:16:28 +00:00
|
|
|
portaudio_dep = dependency('portaudio-2.0', version: '>= 10', required: false)
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2018-12-18 02:16:28 +00:00
|
|
|
if portaudio_dep.found()
|
|
|
|
args += '-DUSE_PORTAUDIO'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['src/gtk_sound_driver_portaudio.cpp', 'src/gtk_sound_driver_portaudio.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
deps += portaudio_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
portaudio = false
|
|
|
|
warns += 'PortAudio was not found. It will disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
oss = get_option('oss')
|
|
|
|
if oss
|
2018-12-18 02:16:28 +00:00
|
|
|
if c_compiler.has_header('sys/soundcard.h')
|
|
|
|
args += '-DUSE_OSS'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['src/gtk_sound_driver_oss.cpp', 'src/gtk_sound_driver_oss.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
oss = false
|
|
|
|
warns += 'OSS not found. It will be disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
alsa = get_option('alsa')
|
|
|
|
if alsa
|
2018-12-18 02:16:28 +00:00
|
|
|
alsa_dep = dependency('alsa', required: false)
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2018-12-18 02:16:28 +00:00
|
|
|
if alsa_dep.found()
|
|
|
|
args += '-DUSE_ALSA'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['src/gtk_sound_driver_alsa.cpp', 'src/gtk_sound_driver_alsa.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
deps += alsa_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
alsa = false
|
|
|
|
warns += 'ALSA not found. It will be disabled.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
pulseaudio = get_option('pulseaudio')
|
|
|
|
if pulseaudio
|
2018-12-18 02:16:28 +00:00
|
|
|
pulseaudio_dep = dependency('libpulse', required: false)
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2018-12-18 02:16:28 +00:00
|
|
|
if pulseaudio_dep.found()
|
|
|
|
args += '-DUSE_PULSEAUDIO'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['src/gtk_sound_driver_pulse.cpp', 'src/gtk_sound_driver_pulse.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
deps += pulseaudio_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
pulseaudio = false
|
|
|
|
warns += 'PulseAudio not found. Disabling.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
screenshot = get_option('screenshot')
|
|
|
|
if screenshot
|
2018-12-18 02:16:28 +00:00
|
|
|
screenshot_dep = dependency('libpng', required: false)
|
|
|
|
|
|
|
|
if screenshot_dep.found()
|
|
|
|
args += '-DHAVE_LIBPNG'
|
|
|
|
deps += screenshot_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
screenshot = false
|
|
|
|
warns += 'libpng not found. Disabling screenshot support.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-12-18 18:15:26 +00:00
|
|
|
systemzip_dep = dependency('minizip', required: false)
|
2018-12-21 00:57:36 +00:00
|
|
|
systemzip = get_option('system-zip')
|
|
|
|
if systemzip and systemzip_dep.found()
|
2018-12-18 18:15:26 +00:00
|
|
|
args += '-DSYSTEM_ZIP'
|
|
|
|
deps += systemzip_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
systemzip = false
|
2018-12-18 18:15:26 +00:00
|
|
|
includes += '../unzip'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['../unzip/unzip.c', '../unzip/ioapi.c', '../unzip/zip.c']
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
2020-07-29 23:32:46 +00:00
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
zlib = get_option('zlib')
|
|
|
|
if zlib
|
2018-12-18 02:16:28 +00:00
|
|
|
zlib_dep = dependency('zlib', required: false)
|
|
|
|
|
|
|
|
if zlib_dep.found()
|
|
|
|
args += '-DZLIB'
|
|
|
|
deps += zlib_dep
|
|
|
|
else
|
2018-12-21 00:57:36 +00:00
|
|
|
zlib = false
|
|
|
|
warns += 'zlib not found. Disabling.'
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if get_option('dangerous-hacks')
|
2018-12-21 00:57:36 +00:00
|
|
|
warns += 'Dangerous hacks are enabled. Don\'t complain if things break!'
|
2018-12-18 02:16:28 +00:00
|
|
|
args += '-DALLOW_CPU_OVERCLOCK'
|
|
|
|
endif
|
|
|
|
|
|
|
|
if get_option('hq2x')
|
|
|
|
args += '-DUSE_HQ2X'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['../filter/hq2x.cpp', '../filter/hq2x.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
if get_option('xbrz')
|
|
|
|
args += '-DUSE_XBRZ'
|
2018-12-21 00:57:36 +00:00
|
|
|
srcs += ['../filter/xbrz.cpp', '../filter/xbrz.h', 'src/filter_xbrz.cpp', 'src/filter_xbrz.h']
|
2018-12-18 02:16:28 +00:00
|
|
|
endif
|
|
|
|
|
2022-03-24 17:21:52 +00:00
|
|
|
args += ['-DHAVE_MKSTEMP', '-DHAVE_STRINGS_H', '-DHAVE_STDINT_H', '-DRIGHTSHIFT_IS_SAR']
|
2018-12-18 02:16:28 +00:00
|
|
|
|
|
|
|
srcs += [
|
|
|
|
'src/gtk_sound_driver.h',
|
|
|
|
'../filter/2xsai.cpp',
|
|
|
|
'../filter/2xsai.h',
|
|
|
|
'../filter/epx.cpp',
|
|
|
|
'../filter/epx.h',
|
|
|
|
'src/filter_epx_unsafe.h',
|
|
|
|
'src/filter_epx_unsafe.cpp',
|
|
|
|
'src/gtk_binding.cpp',
|
|
|
|
'src/gtk_binding.h',
|
|
|
|
'src/gtk_cheat.cpp',
|
|
|
|
'src/gtk_cheat.h',
|
|
|
|
'src/gtk_config.cpp',
|
|
|
|
'src/gtk_config.h',
|
|
|
|
'src/gtk_control.cpp',
|
|
|
|
'src/gtk_control.h',
|
|
|
|
'src/gtk_display.cpp',
|
|
|
|
'src/gtk_display_driver_gtk.cpp',
|
|
|
|
'src/gtk_display_driver_gtk.h',
|
|
|
|
'src/gtk_display_driver.h',
|
|
|
|
'src/gtk_display.h',
|
|
|
|
'src/gtk_file.cpp',
|
|
|
|
'src/gtk_file.h',
|
|
|
|
'src/gtk_builder_window.cpp',
|
|
|
|
'src/gtk_builder_window.h',
|
|
|
|
'src/gtk_preferences.cpp',
|
|
|
|
'src/gtk_preferences.h',
|
|
|
|
'src/gtk_s9xcore.h',
|
|
|
|
'src/gtk_s9x.cpp',
|
|
|
|
'src/gtk_s9x.h',
|
|
|
|
'src/gtk_s9xwindow.cpp',
|
|
|
|
'src/gtk_s9xwindow.h',
|
|
|
|
'src/gtk_sound.cpp',
|
|
|
|
'src/gtk_sound.h',
|
|
|
|
'src/gtk_splash.cpp',
|
|
|
|
'../filter/snes_ntsc_config.h',
|
|
|
|
'../filter/snes_ntsc.h',
|
|
|
|
'../filter/snes_ntsc_impl.h',
|
|
|
|
'../filter/snes_ntsc.c',
|
2020-07-04 22:53:38 +00:00
|
|
|
'src/gtk_compat.h',
|
2018-12-18 02:16:28 +00:00
|
|
|
'src/gtk_sound_driver_sdl.h',
|
|
|
|
'src/gtk_sound_driver_sdl.cpp',
|
|
|
|
'../fxinst.cpp',
|
|
|
|
'../fxemu.cpp',
|
|
|
|
'../fxdbg.cpp',
|
|
|
|
'../c4.cpp',
|
|
|
|
'../c4emu.cpp',
|
|
|
|
'../apu/apu.cpp',
|
|
|
|
'../apu/bapu/dsp/sdsp.cpp',
|
|
|
|
'../apu/bapu/smp/smp.cpp',
|
|
|
|
'../apu/bapu/smp/smp_state.cpp',
|
|
|
|
'../msu1.cpp',
|
|
|
|
'../msu1.h',
|
|
|
|
'../dsp.cpp',
|
|
|
|
'../dsp1.cpp',
|
|
|
|
'../dsp2.cpp',
|
|
|
|
'../dsp3.cpp',
|
|
|
|
'../dsp4.cpp',
|
|
|
|
'../spc7110.cpp',
|
|
|
|
'../obc1.cpp',
|
|
|
|
'../seta.cpp',
|
|
|
|
'../seta010.cpp',
|
|
|
|
'../seta011.cpp',
|
|
|
|
'../seta018.cpp',
|
|
|
|
'../controls.cpp',
|
|
|
|
'../crosshairs.cpp',
|
|
|
|
'../cpu.cpp',
|
|
|
|
'../sa1.cpp',
|
|
|
|
'../debug.cpp',
|
|
|
|
'../sdd1.cpp',
|
|
|
|
'../tile.cpp',
|
2019-05-07 14:15:06 +00:00
|
|
|
'../tileimpl-n1x1.cpp',
|
|
|
|
'../tileimpl-n2x1.cpp',
|
|
|
|
'../tileimpl-h2x1.cpp',
|
2018-12-18 02:16:28 +00:00
|
|
|
'../srtc.cpp',
|
|
|
|
'../gfx.cpp',
|
|
|
|
'../memmap.cpp',
|
|
|
|
'../clip.cpp',
|
|
|
|
'../ppu.cpp',
|
|
|
|
'../dma.cpp',
|
|
|
|
'../snes9x.cpp',
|
|
|
|
'../globals.cpp',
|
|
|
|
'../stream.cpp',
|
|
|
|
'../conffile.cpp',
|
|
|
|
'../bsx.cpp',
|
|
|
|
'../logger.cpp',
|
|
|
|
'../snapshot.cpp',
|
|
|
|
'../screenshot.cpp',
|
|
|
|
'../movie.cpp',
|
|
|
|
'../statemanager.cpp',
|
|
|
|
'../sha256.cpp',
|
|
|
|
'../bml.cpp',
|
|
|
|
'../cpuops.cpp',
|
|
|
|
'../cpuexec.cpp',
|
|
|
|
'../sa1cpu.cpp',
|
|
|
|
'../cheats.cpp',
|
|
|
|
'../cheats2.cpp',
|
|
|
|
'../sdd1emu.cpp',
|
|
|
|
'../netplay.cpp',
|
|
|
|
'../server.cpp',
|
|
|
|
'../loadzip.cpp',
|
2020-09-07 15:57:17 +00:00
|
|
|
'../compat.cpp',
|
2018-12-18 02:16:28 +00:00
|
|
|
'src/gtk_netplay_dialog.cpp',
|
|
|
|
'src/gtk_netplay_dialog.h',
|
|
|
|
'src/gtk_netplay.cpp',
|
2019-11-08 23:05:36 +00:00
|
|
|
'src/gtk_netplay.h',
|
|
|
|
'src/background_particles.cpp',
|
|
|
|
'src/background_particles.h'
|
2018-12-18 02:16:28 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
libjma_srcs = [
|
|
|
|
'../jma/s9x-jma.cpp',
|
|
|
|
'../jma/7zlzma.cpp',
|
|
|
|
'../jma/crc32.cpp',
|
|
|
|
'../jma/iiostrm.cpp',
|
|
|
|
'../jma/inbyte.cpp',
|
|
|
|
'../jma/jma.cpp',
|
|
|
|
'../jma/lzma.cpp',
|
|
|
|
'../jma/lzmadec.cpp',
|
|
|
|
'../jma/winout.cpp'
|
|
|
|
]
|
|
|
|
|
2020-07-29 23:32:46 +00:00
|
|
|
libjma = static_library('jma',
|
|
|
|
libjma_srcs,
|
|
|
|
c_args: args,
|
2020-07-04 22:53:38 +00:00
|
|
|
cpp_args: args,
|
2018-12-18 18:15:26 +00:00
|
|
|
include_directories: include_directories(includes))
|
2020-07-29 23:32:46 +00:00
|
|
|
libs += libjma
|
2018-12-18 02:16:28 +00:00
|
|
|
|
2019-06-19 17:13:41 +00:00
|
|
|
sourcify = executable('sourcify', 'src/sourcify.c', native: true)
|
2020-07-29 23:32:46 +00:00
|
|
|
gtk_snes9x_ui_cpp = custom_target('sourcify',
|
|
|
|
input: 'src/snes9x.ui',
|
2018-12-18 02:16:28 +00:00
|
|
|
output: 'gtk_snes9x_ui.cpp',
|
2018-12-21 00:57:36 +00:00
|
|
|
command: [sourcify, '@INPUT@', '@OUTPUT@', 'snes9x_ui'])
|
2018-12-18 02:16:28 +00:00
|
|
|
|
2020-08-23 22:46:25 +00:00
|
|
|
mini_icon = custom_target('mini_icon',
|
|
|
|
input: 'data/mini_icon.png',
|
|
|
|
output: 'mini_icon.cpp',
|
|
|
|
command: [sourcify, '@INPUT@', '@OUTPUT@', 'mini_icon'])
|
|
|
|
|
2020-07-29 23:32:46 +00:00
|
|
|
snes9x_gtk = executable('snes9x-gtk',
|
|
|
|
srcs,
|
2018-12-18 02:16:28 +00:00
|
|
|
gtk_snes9x_ui_cpp,
|
2020-08-23 22:46:25 +00:00
|
|
|
mini_icon,
|
2020-07-29 23:32:46 +00:00
|
|
|
c_args: args,
|
2020-07-04 22:53:38 +00:00
|
|
|
cpp_args: args,
|
2018-12-18 02:16:28 +00:00
|
|
|
dependencies: deps,
|
2018-12-18 18:15:26 +00:00
|
|
|
include_directories: include_directories(includes),
|
2020-07-29 23:32:46 +00:00
|
|
|
link_with: libs,
|
2018-12-18 02:16:28 +00:00
|
|
|
install: true)
|
|
|
|
|
2018-12-21 00:57:36 +00:00
|
|
|
summary = [
|
|
|
|
'Snes9x GTK+ Build Configuration',
|
|
|
|
'[Locations] prefix: ' + prefix,
|
|
|
|
' datadir: ' + datadir,
|
|
|
|
' appdatadir: ' + appdatadir,
|
|
|
|
' localedir: ' + localedir,
|
|
|
|
'[Options] Build type: ' + get_option('buildtype'),
|
|
|
|
' Wayland: ' + wayland.to_string(),
|
|
|
|
' OpenGL: ' + opengl.to_string(),
|
2019-01-25 19:28:24 +00:00
|
|
|
' slang shaders: ' + slang.to_string(),
|
2018-12-21 00:57:36 +00:00
|
|
|
' XVideo: ' + xv.to_string(),
|
|
|
|
' ALSA: ' + alsa.to_string(),
|
|
|
|
' Open Sound System: ' + oss.to_string(),
|
|
|
|
' PulseAudio: ' + pulseaudio.to_string(),
|
|
|
|
' PortAudio: ' + portaudio.to_string(),
|
|
|
|
' HQ2X filter: ' + get_option('hq2x').to_string(),
|
|
|
|
' xBRZ filter: ' + get_option('xbrz').to_string(),
|
|
|
|
' Screenshot saving: ' + screenshot.to_string(),
|
|
|
|
' zlib compression: ' + zlib.to_string(),
|
|
|
|
' System minizip: ' + systemzip.to_string(),
|
|
|
|
]
|
|
|
|
|
|
|
|
summary += warns
|
|
|
|
message('\n'.join(summary))
|