project('kaizen', 'cpp', meson_version: '>=1.11', default_options: [ 'cpp_std=c++latest', 'default_library=static', ], version: '0.1.0' ) compile_defs = [] os = host_machine.system() if os == 'windows' compile_defs += ['NOMINMAX', '_CRT_SECURE_NO_WARNINGS'] endif if os == 'darwin' add_languages('objc') endif vcs = vcs_tag( input: 'resources/version.hpp.in', output: 'version.hpp', install_dir: 'resources', fallback: '0.1.0' ) includes = include_directories( 'src/frontend/Settings', 'src/frontend', 'src/', 'src/utils', 'src/backend', 'src/backend/core', 'src/backend/core/mmio', 'src/backend/core/mmio/PIF', 'src/backend/core/registers', 'src/backend/core/rsp', 'src/frontend/ImGuiImpl/', 'external', 'external/xbyak', 'external/mio/single_include', 'external/parallel-rdp', 'external/parallel-rdp/parallel-rdp-standalone/parallel-rdp', 'external/parallel-rdp/parallel-rdp-standalone/volk', 'external/parallel-rdp/parallel-rdp-standalone/vulkan', 'external/parallel-rdp/parallel-rdp-standalone/vulkan-headers/include', 'external/parallel-rdp/parallel-rdp-standalone/util', 'external/sse2neon', 'external/cflags/include', 'external/mINI/src/', ) subdir('src/utils') subdir('src/frontend') subdir('src/backend') subdir('external/cic_nus_6105') subdir('external/parallel-rdp') capstone_proj = subproject('capstone-next') capstone_dep = capstone_proj.get_variable('capstone_dep') imgui = dependency('imgui-docking') sdl3 = dependency('sdl3') unarr_proj = subproject('unarr') unarr_dep = unarr_proj.get_variable('unarr_dep') sources = [ vcs, util_srcs, frontend_srcs, backend_srcs, cic_nus_6105_srcs, ] executable('kaizen', sources: sources, include_directories: includes, dependencies: [parallel_rdp, capstone_dep, imgui, sdl3, unarr_dep])