quickerNES/meson.build

83 lines
2.4 KiB
Meson
Raw Normal View History

project('quickerNES','c','cpp',
version: '1.0.0',
license: 'GPL-3.0-only',
default_options : ['cpp_std=c++20', 'default_library=shared', 'buildtype=release']
)
# Getting page alignment
getConfCommand = run_command('getconf', 'PAGESIZE', check: true)
pageSize = getConfCommand.stdout().strip()
# quickerNES Core sources
quickerNESCoreSrc = [
2024-01-10 19:11:49 +00:00
'source/core/abstract_file.cpp',
'source/core/Nes_Apu.cpp',
'source/core/Nes_File.cpp',
'source/core/Nes_Oscs.cpp',
'source/core/apu_state.cpp',
'source/core/Nes_Buffer.cpp',
'source/core/Nes_Fme7_Apu.cpp',
'source/core/Nes_Ppu.cpp',
'source/core/Blip_Buffer.cpp',
'source/core/Nes_Cart.cpp',
'source/core/Nes_Mapper.cpp',
'source/core/Nes_Ppu_Impl.cpp',
'source/core/Data_Reader.cpp',
'source/core/Nes_Core.cpp',
'source/core/Nes_Ppu_Rendering.cpp',
'source/core/Effects_Buffer.cpp',
'source/core/Nes_Cpu.cpp',
'source/core/Nes_State.cpp',
'source/core/emu2413.cpp',
'source/core/nes_data.cpp',
2024-01-10 19:11:49 +00:00
'source/core/nes_util.cpp',
'source/core/emu2413_state.cpp',
'source/core/Nes_Effects_Buffer.cpp',
'source/core/Nes_Namco_Apu.cpp',
'source/core/Nes_Vrc6_Apu.cpp',
'source/core/Multi_Buffer.cpp',
'source/core/Nes_Emu.cpp',
'source/core/nes_ntsc.cpp',
2024-01-12 20:13:51 +00:00
'source/core/Nes_Vrc7.cpp',
]
# quickerNES Core Configuration
2024-01-11 19:23:32 +00:00
quickerNESCoreDependency = declare_dependency(
compile_args : [ '-Wfatal-errors', '-Wall', '-Werror', '-Wno-multichar', '-D_PAGE_SIZE="' + pageSize + '"'],
2024-01-11 19:23:32 +00:00
include_directories : include_directories(['source', 'source/core', 'extern']),
2024-01-12 20:13:51 +00:00
sources : [ quickerNESCoreSrc, 'extern/metrohash128/metrohash128.cpp' ]
2024-01-11 19:23:32 +00:00
)
2024-01-12 18:14:57 +00:00
# Building playback tool
quickerNESPlayerSrc = [
2024-01-10 19:11:49 +00:00
'extern/hqn/hqn.cpp',
'extern/hqn/hqn_gui_controller.cpp',
'extern/hqn/hqn_surface.cpp',
'extern/hqn/hqn_util.cpp',
2024-01-12 20:13:51 +00:00
'extern/hqn/options.cpp',
]
2024-01-12 18:14:57 +00:00
executable('player',
'source/player.cpp',
cpp_args : [ '-DNCURSES' ],
2024-01-11 19:23:32 +00:00
dependencies : [ quickerNESCoreDependency, dependency('sdl2'), dependency('SDL2_image') ],
include_directories : include_directories(['source']),
link_args : [ '-lncurses' ],
sources : quickerNESPlayerSrc
)
2024-01-11 19:23:32 +00:00
2024-01-12 18:14:57 +00:00
# Building tester tool
tester = executable('tester',
'source/tester.cpp',
dependencies: [ quickerNESCoreDependency ],
include_directories: include_directories(['../extern/json'])
)
2024-01-11 19:23:32 +00:00
# Building tests
if get_option('buildTests') == true
subdir('tests')
endif