set(SRCS arm/dynarmic/arm_dynarmic.cpp arm/unicorn/arm_unicorn.cpp core.cpp core_timing.cpp file_sys/archive_backend.cpp file_sys/disk_archive.cpp file_sys/ivfc_archive.cpp file_sys/path_parser.cpp file_sys/savedata_archive.cpp file_sys/title_metadata.cpp frontend/emu_window.cpp frontend/framebuffer_layout.cpp gdbstub/gdbstub.cpp hle/config_mem.cpp hle/kernel/address_arbiter.cpp hle/kernel/client_port.cpp hle/kernel/client_session.cpp hle/kernel/condition_variable.cpp hle/kernel/domain.cpp hle/kernel/event.cpp hle/kernel/handle_table.cpp hle/kernel/hle_ipc.cpp hle/kernel/kernel.cpp hle/kernel/memory.cpp hle/kernel/mutex.cpp hle/kernel/object_address_table.cpp hle/kernel/process.cpp hle/kernel/resource_limit.cpp hle/kernel/server_port.cpp hle/kernel/server_session.cpp hle/kernel/shared_memory.cpp hle/kernel/svc.cpp hle/kernel/thread.cpp hle/kernel/timer.cpp hle/kernel/vm_manager.cpp hle/kernel/wait_object.cpp hle/lock.cpp hle/romfs.cpp hle/service/am/am.cpp hle/service/am/applet_oe.cpp hle/service/aoc/aoc_u.cpp hle/service/apm/apm.cpp hle/service/dsp_dsp.cpp hle/service/gsp_gpu.cpp hle/service/hid/hid.cpp hle/service/lm/lm.cpp hle/service/pctl/pctl.cpp hle/service/pctl/pctl_a.cpp hle/service/service.cpp hle/service/sm/controller.cpp hle/service/sm/sm.cpp hle/shared_page.cpp hw/aes/arithmetic128.cpp hw/aes/ccm.cpp hw/aes/key.cpp hw/gpu.cpp hw/hw.cpp hw/lcd.cpp loader/elf.cpp loader/linker.cpp loader/loader.cpp loader/nro.cpp loader/nso.cpp tracer/recorder.cpp memory.cpp perf_stats.cpp settings.cpp telemetry_session.cpp ) set(HEADERS 3ds.h arm/arm_interface.h arm/dynarmic/arm_dynarmic.h arm/unicorn/arm_unicorn.h core.h core_timing.h file_sys/archive_backend.h file_sys/directory_backend.h file_sys/disk_archive.h file_sys/errors.h file_sys/file_backend.h file_sys/ivfc_archive.h file_sys/path_parser.h file_sys/savedata_archive.h frontend/emu_window.h frontend/framebuffer_layout.h frontend/input.h gdbstub/gdbstub.h hle/config_mem.h hle/ipc.h hle/ipc_helpers.h hle/kernel/address_arbiter.h hle/kernel/client_port.h hle/kernel/client_session.h hle/kernel/condition_variable.h hle/kernel/domain.h hle/kernel/errors.h hle/kernel/event.h hle/kernel/handle_table.h hle/kernel/hle_ipc.h hle/kernel/kernel.h hle/kernel/memory.h hle/kernel/mutex.h hle/kernel/object_address_table.h hle/kernel/process.h hle/kernel/resource_limit.h hle/kernel/server_port.h hle/kernel/server_session.h hle/kernel/session.h hle/kernel/shared_memory.h hle/kernel/sync_object.h hle/kernel/svc.h hle/kernel/svc_wrap.h hle/kernel/thread.h hle/kernel/timer.h hle/kernel/vm_manager.h hle/kernel/wait_object.h hle/lock.h hle/result.h hle/romfs.h hle/service/am/am.h hle/service/am/applet_oe.h hle/service/aoc/aoc_u.h hle/service/apm/apm.h hle/service/dsp_dsp.h hle/service/gsp_gpu.h hle/service/hid/hid.h hle/service/lm/lm.h hle/service/pctl/pctl.h hle/service/pctl/pctl_a.h hle/service/service.h hle/service/sm/controller.h hle/service/sm/sm.h hle/shared_page.h hw/aes/arithmetic128.h hw/aes/ccm.h hw/aes/key.h hw/gpu.h hw/hw.h hw/lcd.h loader/elf.h loader/linker.h loader/loader.h loader/nro.h loader/nso.h tracer/recorder.h tracer/citrace.h memory.h memory_setup.h mmio.h perf_stats.h settings.h telemetry_session.h ) create_directory_groups(${SRCS} ${HEADERS}) add_library(core STATIC ${SRCS} ${HEADERS}) target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core) target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp fmt lz4_static unicorn) if (ENABLE_WEB_SERVICE) target_link_libraries(core PUBLIC json-headers web_service) endif()