looper/meson.build
2023-07-16 17:34:20 -07:00

67 lines
2.4 KiB
Meson

project('neko-player', ['c', 'cpp'],
version : '0.1',
default_options : ['warning_level=3',
'cpp_std=c++20'])
cmake = import('cmake')
if get_option('debug')
add_global_arguments('-DDEBUG', language: 'cpp')
endif
add_global_arguments('-DIMGUI_IMPL_OPENGL_ES2', language: 'cpp')
smx_opts = cmake.subproject_options()
smx_opts.add_cmake_defines({'SDL_MIXER_X_STATIC': true, 'SDL_MIXER_X_SHARED': false})
smx_opts.set_override_option('c_std', 'c99')
smx_subproj = cmake.subproject('SDL-Mixer-X', options: smx_opts)
#raudio_lib = static_library('raudio', 'raudio/src/raudio.c', c_args: ['-DRAUDIO_STANDALONE', '-DSUPPORT_MODULE_RAUDIO', '-DSUPPORT_FILEFORMAT_WAV', '-DSUPPORT_FILEFORMAT_OGG', '-DSUPPORT_FILEFORMAT_MP3', '-DSUPPORT_FILEFORMAT_QOA', '-DSUPPORT_FILEFORMAT_FLAC', '-DSUPPORT_FILEFORMAT_XM', '-DSUPPORT_FILEFORMAT_MOD', '-w'])
#raudio_include = include_directories('raudio/src')
#raudio_dep = declare_dependency(include_directories: raudio_include, link_with: raudio_lib)
deps = [
dependency('sdl2'),
dependency('SDL2_image'),
dependency('gl'),
subproject('jsoncpp').get_variable('jsoncpp_dep'),
dependency('soundtouch'),
#raudio_dep,
smx_subproj.dependency('SDL2_mixer_ext_Static'),
]
srcs = [
'main.cpp',
'playback.cpp',
'theme.cpp',
'imgui/imgui.cpp',
'imgui/imgui_widgets.cpp',
'imgui/imgui_tables.cpp',
'imgui/imgui_draw.cpp',
'imgui/imgui_demo.cpp',
'imgui/backends/imgui_impl_sdl2.cpp',
'imgui/backends/imgui_impl_opengl3.cpp',
]
include_dirs = [
'imgui',
'imgui/backends',
'imgui-filebrowser',
'IconFontCppHeaders',
'assets',
]
res = run_command('./assets/update-assets.sh', check: true)
# Validate MetaInfo file
metainfo_file = '/path/to/com.experimentalcraft.NekoPlayer.metainfo.xml'
ascli_exe = find_program('appstreamcli', required: false)
if ascli_exe.found()
test('validate metainfo file',
ascli_exe,
args: ['validate',
'--no-net',
'--pedantic',
metainfo_file]
)
endif
install_data('assets/icon.svg', rename: 'neko-player.svg', install_dir: 'share/icons/hicolor/scalable/apps/')
install_data('assets/neko-player.desktop', install_dir: 'share/applications')
install_data('assets/com.experimentalcraft.NekoPlayer.metainfo.xml', install_dir: 'share/metainfo')
exe = executable('neko-player', srcs,
dependencies: deps,
include_directories: include_dirs,
install : true)