2024-01-09 19:12:22 +00:00
|
|
|
project('quickerNES','c','cpp',
|
|
|
|
version: '1.0.0',
|
|
|
|
license: 'GPL-3.0-only',
|
|
|
|
default_options : ['cpp_std=c++20', 'default_library=shared', 'buildtype=release']
|
|
|
|
)
|
|
|
|
|
|
|
|
# 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',
|
|
|
|
'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',
|
|
|
|
'source/core/Nes_Vrc7.cpp',
|
2024-01-09 19:12:22 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
# quickerNES Core Configuration
|
|
|
|
|
|
|
|
quickerNESCoreCPPFlags = [ '-Wfatal-errors','-Wall' ]
|
2024-01-10 19:11:49 +00:00
|
|
|
quickerNESCoreIncludeDirs = include_directories(['source/core', 'extern'])
|
2024-01-09 19:12:22 +00:00
|
|
|
quickerNESCoreDependencies = [ ]
|
|
|
|
quickerNESCoreCPPFlags = [ ]
|
|
|
|
quickerNESCoreCFlags = [ ]
|
|
|
|
quickerNESCoreLinkArgs = [ ]
|
|
|
|
|
|
|
|
# Building playback/validation 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',
|
|
|
|
'extern/hqn/options.cpp'
|
2024-01-09 19:12:22 +00:00
|
|
|
]
|
|
|
|
|
2024-01-10 19:11:49 +00:00
|
|
|
quickerNESPlayerIncludeDirs = include_directories([ 'source'])
|
2024-01-09 19:12:22 +00:00
|
|
|
quickerNESPlayerDependencies = [ dependency('sdl2'), dependency('SDL2_image') ]
|
2024-01-11 18:44:54 +00:00
|
|
|
quickerNESPlayerCPPFlags = [ '-DNCURSES' ]
|
2024-01-09 19:12:22 +00:00
|
|
|
quickerNESPlayerCFlags = [ ]
|
|
|
|
quickerNESPlayerLinkArgs = [ '-lncurses' ]
|
|
|
|
|
|
|
|
executable('player',
|
2024-01-10 19:11:49 +00:00
|
|
|
'source/player.cpp',
|
2024-01-09 19:12:22 +00:00
|
|
|
sources: [ quickerNESCoreSrc, quickerNESPlayerSrc ],
|
|
|
|
include_directories: [ quickerNESCoreIncludeDirs, quickerNESPlayerIncludeDirs ],
|
|
|
|
dependencies: [ quickerNESCoreDependencies, quickerNESPlayerDependencies ],
|
|
|
|
cpp_args: [ quickerNESCoreCPPFlags, quickerNESPlayerCPPFlags ],
|
|
|
|
c_args: [ quickerNESCoreCFlags, quickerNESPlayerCFlags ],
|
|
|
|
link_args: [ quickerNESCoreLinkArgs, quickerNESPlayerLinkArgs ]
|
|
|
|
)
|