project('kaizen', 'cpp', default_options: [ 'cpp_std=c++23', 'default_library=static', ] ) compile_defs = [] os = host_machine.system() if os == 'windows' compile_defs += ['NOMINMAX', '_CRT_SECURE_NO_WARNINGS'] endif if os == 'darwin' add_languages('objc') endif vsc = vcs_tag( input: 'resources/version.hpp.in', output: 'resources/version.hpp', 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/include', 'external/json/include', 'external/parallel-rdp', 'external/parallel-rdp', 'external/parallel-rdp/parallel-rdp-standalone/parallel-rdp', 'external/parallel-rdp/parallel-rdp-standalone/volk', 'external/parallel-rdp/parallel-rdp-standalone/spirv-cross', 'external/parallel-rdp/parallel-rdp-standalone/vulkan', 'external/parallel-rdp/parallel-rdp-standalone/vulkan-headers/include', 'external/parallel-rdp/parallel-rdp-standalone/util', 'external/unarr', 'external/SDL/include', 'external/sse2neon', 'external/capstone/include', 'external/imgui', 'external/imgui/backends', 'external/cflags/include', 'external/mINI/src/', ) subdir('src/utils') subdir('src/frontend') subdir('src/backend') sources = [ vsc, util_srcs, frontend_srcs, backend_srcs ] executable('kaizen', sources: sources, include_directories: includes)