add_library(core STATIC arm/arm_interface.h arm/arm_interface.cpp arm/exclusive_monitor.cpp arm/exclusive_monitor.h arm/unicorn/arm_unicorn.cpp arm/unicorn/arm_unicorn.h core.cpp core.h core_cpu.cpp core_cpu.h core_timing.cpp core_timing.h core_timing_util.cpp core_timing_util.h cpu_core_manager.cpp cpu_core_manager.h crypto/aes_util.cpp crypto/aes_util.h crypto/encryption_layer.cpp crypto/encryption_layer.h crypto/key_manager.cpp crypto/key_manager.h crypto/partition_data_manager.cpp crypto/partition_data_manager.h crypto/ctr_encryption_layer.cpp crypto/ctr_encryption_layer.h crypto/xts_encryption_layer.cpp crypto/xts_encryption_layer.h file_sys/bis_factory.cpp file_sys/bis_factory.h file_sys/card_image.cpp file_sys/card_image.h file_sys/content_archive.cpp file_sys/content_archive.h file_sys/control_metadata.cpp file_sys/control_metadata.h file_sys/directory.h file_sys/errors.h file_sys/fsmitm_romfsbuild.cpp file_sys/fsmitm_romfsbuild.h file_sys/ips_layer.cpp file_sys/ips_layer.h file_sys/mode.h file_sys/nca_metadata.cpp file_sys/nca_metadata.h file_sys/nca_patch.cpp file_sys/nca_patch.h file_sys/partition_filesystem.cpp file_sys/partition_filesystem.h file_sys/patch_manager.cpp file_sys/patch_manager.h file_sys/program_metadata.cpp file_sys/program_metadata.h file_sys/registered_cache.cpp file_sys/registered_cache.h file_sys/romfs.cpp file_sys/romfs.h file_sys/romfs_factory.cpp file_sys/romfs_factory.h file_sys/savedata_factory.cpp file_sys/savedata_factory.h file_sys/sdmc_factory.cpp file_sys/sdmc_factory.h file_sys/submission_package.cpp file_sys/submission_package.h file_sys/system_archive/ng_word.cpp file_sys/system_archive/ng_word.h file_sys/system_archive/system_archive.cpp file_sys/system_archive/system_archive.h file_sys/vfs.cpp file_sys/vfs.h file_sys/vfs_concat.cpp file_sys/vfs_concat.h file_sys/vfs_layered.cpp file_sys/vfs_layered.h file_sys/vfs_offset.cpp file_sys/vfs_offset.h file_sys/vfs_real.cpp file_sys/vfs_real.h file_sys/vfs_static.h file_sys/vfs_types.h file_sys/vfs_vector.cpp file_sys/vfs_vector.h file_sys/xts_archive.cpp file_sys/xts_archive.h frontend/applets/profile_select.cpp frontend/applets/profile_select.h frontend/applets/software_keyboard.cpp frontend/applets/software_keyboard.h frontend/applets/web_browser.cpp frontend/applets/web_browser.h frontend/emu_window.cpp frontend/emu_window.h frontend/framebuffer_layout.cpp frontend/framebuffer_layout.h frontend/input.h frontend/scope_acquire_window_context.cpp frontend/scope_acquire_window_context.h gdbstub/gdbstub.cpp gdbstub/gdbstub.h hle/ipc.h hle/ipc_helpers.h hle/kernel/address_arbiter.cpp hle/kernel/address_arbiter.h hle/kernel/client_port.cpp hle/kernel/client_port.h hle/kernel/client_session.cpp hle/kernel/client_session.h hle/kernel/errors.h hle/kernel/handle_table.cpp hle/kernel/handle_table.h hle/kernel/hle_ipc.cpp hle/kernel/hle_ipc.h hle/kernel/kernel.cpp hle/kernel/kernel.h hle/kernel/mutex.cpp hle/kernel/mutex.h hle/kernel/object.cpp hle/kernel/object.h hle/kernel/process.cpp hle/kernel/process.h hle/kernel/process_capability.cpp hle/kernel/process_capability.h hle/kernel/readable_event.cpp hle/kernel/readable_event.h hle/kernel/resource_limit.cpp hle/kernel/resource_limit.h hle/kernel/scheduler.cpp hle/kernel/scheduler.h hle/kernel/server_port.cpp hle/kernel/server_port.h hle/kernel/server_session.cpp hle/kernel/server_session.h hle/kernel/session.h hle/kernel/shared_memory.cpp hle/kernel/shared_memory.h hle/kernel/svc.cpp hle/kernel/svc.h hle/kernel/svc_wrap.h hle/kernel/thread.cpp hle/kernel/thread.h hle/kernel/vm_manager.cpp hle/kernel/vm_manager.h hle/kernel/wait_object.cpp hle/kernel/wait_object.h hle/kernel/writable_event.cpp hle/kernel/writable_event.h hle/lock.cpp hle/lock.h hle/result.h hle/service/acc/acc.cpp hle/service/acc/acc.h hle/service/acc/acc_aa.cpp hle/service/acc/acc_aa.h hle/service/acc/acc_su.cpp hle/service/acc/acc_su.h hle/service/acc/acc_u0.cpp hle/service/acc/acc_u0.h hle/service/acc/acc_u1.cpp hle/service/acc/acc_u1.h hle/service/acc/profile_manager.cpp hle/service/acc/profile_manager.h hle/service/am/am.cpp hle/service/am/am.h hle/service/am/applet_ae.cpp hle/service/am/applet_ae.h hle/service/am/applet_oe.cpp hle/service/am/applet_oe.h hle/service/am/applets/applets.cpp hle/service/am/applets/applets.h hle/service/am/applets/profile_select.cpp hle/service/am/applets/profile_select.h hle/service/am/applets/software_keyboard.cpp hle/service/am/applets/software_keyboard.h hle/service/am/applets/stub_applet.cpp hle/service/am/applets/stub_applet.h hle/service/am/applets/web_browser.cpp hle/service/am/applets/web_browser.h hle/service/am/idle.cpp hle/service/am/idle.h hle/service/am/omm.cpp hle/service/am/omm.h hle/service/am/spsm.cpp hle/service/am/spsm.h hle/service/am/tcap.cpp hle/service/am/tcap.h hle/service/aoc/aoc_u.cpp hle/service/aoc/aoc_u.h hle/service/apm/apm.cpp hle/service/apm/apm.h hle/service/apm/interface.cpp hle/service/apm/interface.h hle/service/arp/arp.cpp hle/service/arp/arp.h hle/service/audio/audctl.cpp hle/service/audio/audctl.h hle/service/audio/auddbg.cpp hle/service/audio/auddbg.h hle/service/audio/audin_a.cpp hle/service/audio/audin_a.h hle/service/audio/audin_u.cpp hle/service/audio/audin_u.h hle/service/audio/audio.cpp hle/service/audio/audio.h hle/service/audio/audout_a.cpp hle/service/audio/audout_a.h hle/service/audio/audout_u.cpp hle/service/audio/audout_u.h hle/service/audio/audrec_a.cpp hle/service/audio/audrec_a.h hle/service/audio/audrec_u.cpp hle/service/audio/audrec_u.h hle/service/audio/audren_a.cpp hle/service/audio/audren_a.h hle/service/audio/audren_u.cpp hle/service/audio/audren_u.h hle/service/audio/codecctl.cpp hle/service/audio/codecctl.h hle/service/audio/errors.h hle/service/audio/hwopus.cpp hle/service/audio/hwopus.h hle/service/bcat/bcat.cpp hle/service/bcat/bcat.h hle/service/bcat/module.cpp hle/service/bcat/module.h hle/service/bpc/bpc.cpp hle/service/bpc/bpc.h hle/service/btdrv/btdrv.cpp hle/service/btdrv/btdrv.h hle/service/btm/btm.cpp hle/service/btm/btm.h hle/service/caps/caps.cpp hle/service/caps/caps.h hle/service/erpt/erpt.cpp hle/service/erpt/erpt.h hle/service/es/es.cpp hle/service/es/es.h hle/service/eupld/eupld.cpp hle/service/eupld/eupld.h hle/service/fatal/fatal.cpp hle/service/fatal/fatal.h hle/service/fatal/fatal_p.cpp hle/service/fatal/fatal_p.h hle/service/fatal/fatal_u.cpp hle/service/fatal/fatal_u.h hle/service/filesystem/filesystem.cpp hle/service/filesystem/filesystem.h hle/service/filesystem/fsp_ldr.cpp hle/service/filesystem/fsp_ldr.h hle/service/filesystem/fsp_pr.cpp hle/service/filesystem/fsp_pr.h hle/service/filesystem/fsp_srv.cpp hle/service/filesystem/fsp_srv.h hle/service/fgm/fgm.cpp hle/service/fgm/fgm.h hle/service/friend/friend.cpp hle/service/friend/friend.h hle/service/friend/interface.cpp hle/service/friend/interface.h hle/service/grc/grc.cpp hle/service/grc/grc.h hle/service/hid/hid.cpp hle/service/hid/hid.h hle/service/hid/irs.cpp hle/service/hid/irs.h hle/service/hid/xcd.cpp hle/service/hid/xcd.h hle/service/hid/controllers/controller_base.cpp hle/service/hid/controllers/controller_base.h hle/service/hid/controllers/debug_pad.cpp hle/service/hid/controllers/debug_pad.h hle/service/hid/controllers/gesture.cpp hle/service/hid/controllers/gesture.h hle/service/hid/controllers/keyboard.cpp hle/service/hid/controllers/keyboard.h hle/service/hid/controllers/mouse.cpp hle/service/hid/controllers/mouse.h hle/service/hid/controllers/npad.cpp hle/service/hid/controllers/npad.h hle/service/hid/controllers/stubbed.cpp hle/service/hid/controllers/stubbed.h hle/service/hid/controllers/touchscreen.cpp hle/service/hid/controllers/touchscreen.h hle/service/hid/controllers/xpad.cpp hle/service/hid/controllers/xpad.h hle/service/lbl/lbl.cpp hle/service/lbl/lbl.h hle/service/ldn/ldn.cpp hle/service/ldn/ldn.h hle/service/ldr/ldr.cpp hle/service/ldr/ldr.h hle/service/lm/lm.cpp hle/service/lm/lm.h hle/service/mig/mig.cpp hle/service/mig/mig.h hle/service/mii/mii.cpp hle/service/mii/mii.h hle/service/mm/mm_u.cpp hle/service/mm/mm_u.h hle/service/ncm/ncm.cpp hle/service/ncm/ncm.h hle/service/nfc/nfc.cpp hle/service/nfc/nfc.h hle/service/nfp/nfp.cpp hle/service/nfp/nfp.h hle/service/nfp/nfp_user.cpp hle/service/nfp/nfp_user.h hle/service/nifm/nifm.cpp hle/service/nifm/nifm.h hle/service/nim/nim.cpp hle/service/nim/nim.h hle/service/npns/npns.cpp hle/service/npns/npns.h hle/service/ns/ns.cpp hle/service/ns/ns.h hle/service/ns/pl_u.cpp hle/service/ns/pl_u.h hle/service/nvdrv/devices/nvdevice.h hle/service/nvdrv/devices/nvdisp_disp0.cpp hle/service/nvdrv/devices/nvdisp_disp0.h hle/service/nvdrv/devices/nvhost_as_gpu.cpp hle/service/nvdrv/devices/nvhost_as_gpu.h hle/service/nvdrv/devices/nvhost_ctrl.cpp hle/service/nvdrv/devices/nvhost_ctrl.h hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp hle/service/nvdrv/devices/nvhost_ctrl_gpu.h hle/service/nvdrv/devices/nvhost_gpu.cpp hle/service/nvdrv/devices/nvhost_gpu.h hle/service/nvdrv/devices/nvhost_nvdec.cpp hle/service/nvdrv/devices/nvhost_nvdec.h hle/service/nvdrv/devices/nvhost_nvjpg.cpp hle/service/nvdrv/devices/nvhost_nvjpg.h hle/service/nvdrv/devices/nvhost_vic.cpp hle/service/nvdrv/devices/nvhost_vic.h hle/service/nvdrv/devices/nvmap.cpp hle/service/nvdrv/devices/nvmap.h hle/service/nvdrv/interface.cpp hle/service/nvdrv/interface.h hle/service/nvdrv/nvdrv.cpp hle/service/nvdrv/nvdrv.h hle/service/nvdrv/nvmemp.cpp hle/service/nvdrv/nvmemp.h hle/service/nvflinger/buffer_queue.cpp hle/service/nvflinger/buffer_queue.h hle/service/nvflinger/nvflinger.cpp hle/service/nvflinger/nvflinger.h hle/service/pcie/pcie.cpp hle/service/pcie/pcie.h hle/service/pctl/module.cpp hle/service/pctl/module.h hle/service/pctl/pctl.cpp hle/service/pctl/pctl.h hle/service/pcv/pcv.cpp hle/service/pcv/pcv.h hle/service/pm/pm.cpp hle/service/pm/pm.h hle/service/prepo/prepo.cpp hle/service/prepo/prepo.h hle/service/psc/psc.cpp hle/service/psc/psc.h hle/service/ptm/psm.cpp hle/service/ptm/psm.h hle/service/service.cpp hle/service/service.h hle/service/set/set.cpp hle/service/set/set.h hle/service/set/set_cal.cpp hle/service/set/set_cal.h hle/service/set/set_fd.cpp hle/service/set/set_fd.h hle/service/set/set_sys.cpp hle/service/set/set_sys.h hle/service/set/settings.cpp hle/service/set/settings.h hle/service/sm/controller.cpp hle/service/sm/controller.h hle/service/sm/sm.cpp hle/service/sm/sm.h hle/service/sockets/bsd.cpp hle/service/sockets/bsd.h hle/service/sockets/ethc.cpp hle/service/sockets/ethc.h hle/service/sockets/nsd.cpp hle/service/sockets/nsd.h hle/service/sockets/sfdnsres.cpp hle/service/sockets/sfdnsres.h hle/service/sockets/sockets.cpp hle/service/sockets/sockets.h hle/service/spl/csrng.cpp hle/service/spl/csrng.h hle/service/spl/module.cpp hle/service/spl/module.h hle/service/spl/spl.cpp hle/service/spl/spl.h hle/service/ssl/ssl.cpp hle/service/ssl/ssl.h hle/service/time/interface.cpp hle/service/time/interface.h hle/service/time/time.cpp hle/service/time/time.h hle/service/usb/usb.cpp hle/service/usb/usb.h hle/service/vi/display/vi_display.cpp hle/service/vi/display/vi_display.h hle/service/vi/layer/vi_layer.cpp hle/service/vi/layer/vi_layer.h hle/service/vi/vi.cpp hle/service/vi/vi.h hle/service/vi/vi_m.cpp hle/service/vi/vi_m.h hle/service/vi/vi_s.cpp hle/service/vi/vi_s.h hle/service/vi/vi_u.cpp hle/service/vi/vi_u.h hle/service/wlan/wlan.cpp hle/service/wlan/wlan.h loader/deconstructed_rom_directory.cpp loader/deconstructed_rom_directory.h loader/elf.cpp loader/elf.h loader/linker.cpp loader/linker.h loader/loader.cpp loader/loader.h loader/nax.cpp loader/nax.h loader/nca.cpp loader/nca.h loader/nro.cpp loader/nro.h loader/nso.cpp loader/nso.h loader/nsp.cpp loader/nsp.h loader/xci.cpp loader/xci.h memory.cpp memory.h memory_setup.h perf_stats.cpp perf_stats.h settings.cpp settings.h telemetry_session.cpp telemetry_session.h tracer/citrace.h tracer/recorder.cpp tracer/recorder.h ) create_target_directory_groups(core) target_link_libraries(core PUBLIC common PRIVATE audio_core video_core) target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static mbedtls opus unicorn open_source_archives) if (ENABLE_WEB_SERVICE) target_compile_definitions(core PRIVATE -DENABLE_WEB_SERVICE) target_link_libraries(core PRIVATE web_service) endif() if (ARCHITECTURE_x86_64) target_sources(core PRIVATE arm/dynarmic/arm_dynarmic.cpp arm/dynarmic/arm_dynarmic.h ) target_link_libraries(core PRIVATE dynarmic) endif()