# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later add_library(core STATIC arm/arm_interface.h arm/arm_interface.cpp arm/debug.cpp arm/debug.h arm/exclusive_monitor.cpp arm/exclusive_monitor.h arm/symbols.cpp arm/symbols.h constants.cpp constants.h core.cpp core.h core_timing.cpp core_timing.h cpu_manager.cpp cpu_manager.h crypto/aes_util.cpp crypto/aes_util.h crypto/ctr_encryption_layer.cpp crypto/ctr_encryption_layer.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/xts_encryption_layer.cpp crypto/xts_encryption_layer.h debugger/debugger.cpp debugger/debugger.h debugger/debugger_interface.h debugger/gdbstub.cpp debugger/gdbstub.h debugger/gdbstub_arch.cpp debugger/gdbstub_arch.h device_memory_manager.h device_memory_manager.inc device_memory.cpp device_memory.h file_sys/bis_factory.cpp file_sys/bis_factory.h file_sys/card_image.cpp file_sys/card_image.h file_sys/common_funcs.h file_sys/content_archive.cpp file_sys/content_archive.h file_sys/control_metadata.cpp file_sys/control_metadata.h file_sys/errors.h file_sys/fs_directory.h file_sys/fs_file.h file_sys/fs_filesystem.h file_sys/fs_memory_management.h file_sys/fs_operate_range.h file_sys/fs_path.h file_sys/fs_path_utility.h file_sys/fs_string_util.h file_sys/fsmitm_romfsbuild.cpp file_sys/fsmitm_romfsbuild.h file_sys/fssystem/fs_i_storage.h file_sys/fssystem/fs_types.h file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.cpp file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h file_sys/fssystem/fssystem_aes_ctr_storage.cpp file_sys/fssystem/fssystem_aes_ctr_storage.h file_sys/fssystem/fssystem_aes_xts_storage.cpp file_sys/fssystem/fssystem_aes_xts_storage.h file_sys/fssystem/fssystem_alignment_matching_storage.h file_sys/fssystem/fssystem_alignment_matching_storage_impl.cpp file_sys/fssystem/fssystem_alignment_matching_storage_impl.h file_sys/fssystem/fssystem_bucket_tree.cpp file_sys/fssystem/fssystem_bucket_tree.h file_sys/fssystem/fssystem_bucket_tree_utils.h file_sys/fssystem/fssystem_compressed_storage.h file_sys/fssystem/fssystem_compression_common.h file_sys/fssystem/fssystem_compression_configuration.cpp file_sys/fssystem/fssystem_compression_configuration.h file_sys/fssystem/fssystem_crypto_configuration.cpp file_sys/fssystem/fssystem_crypto_configuration.h file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.cpp file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.h file_sys/fssystem/fssystem_hierarchical_sha256_storage.cpp file_sys/fssystem/fssystem_hierarchical_sha256_storage.h file_sys/fssystem/fssystem_indirect_storage.cpp file_sys/fssystem/fssystem_indirect_storage.h file_sys/fssystem/fssystem_integrity_romfs_storage.cpp file_sys/fssystem/fssystem_integrity_romfs_storage.h file_sys/fssystem/fssystem_integrity_verification_storage.cpp file_sys/fssystem/fssystem_integrity_verification_storage.h file_sys/fssystem/fssystem_memory_resource_buffer_hold_storage.h file_sys/fssystem/fssystem_nca_file_system_driver.cpp file_sys/fssystem/fssystem_nca_file_system_driver.h file_sys/fssystem/fssystem_nca_header.cpp file_sys/fssystem/fssystem_nca_header.h file_sys/fssystem/fssystem_nca_reader.cpp file_sys/fssystem/fssystem_pooled_buffer.cpp file_sys/fssystem/fssystem_pooled_buffer.h file_sys/fssystem/fssystem_sparse_storage.cpp file_sys/fssystem/fssystem_sparse_storage.h file_sys/fssystem/fssystem_switch_storage.h file_sys/fssystem/fssystem_utility.cpp file_sys/fssystem/fssystem_utility.h file_sys/ips_layer.cpp file_sys/ips_layer.h file_sys/kernel_executable.cpp file_sys/kernel_executable.h file_sys/nca_metadata.cpp file_sys/nca_metadata.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/data/font_chinese_simplified.cpp file_sys/system_archive/data/font_chinese_simplified.h file_sys/system_archive/data/font_chinese_traditional.cpp file_sys/system_archive/data/font_chinese_traditional.h file_sys/system_archive/data/font_extended_chinese_simplified.cpp file_sys/system_archive/data/font_extended_chinese_simplified.h file_sys/system_archive/data/font_korean.cpp file_sys/system_archive/data/font_korean.h file_sys/system_archive/data/font_nintendo_extended.cpp file_sys/system_archive/data/font_nintendo_extended.h file_sys/system_archive/data/font_standard.cpp file_sys/system_archive/data/font_standard.h file_sys/system_archive/mii_model.cpp file_sys/system_archive/mii_model.h file_sys/system_archive/ng_word.cpp file_sys/system_archive/ng_word.h file_sys/system_archive/shared_font.cpp file_sys/system_archive/shared_font.h file_sys/system_archive/system_archive.cpp file_sys/system_archive/system_archive.h file_sys/system_archive/system_version.cpp file_sys/system_archive/system_version.h file_sys/system_archive/time_zone_binary.cpp file_sys/system_archive/time_zone_binary.h file_sys/vfs/vfs.cpp file_sys/vfs/vfs.h file_sys/vfs/vfs_cached.cpp file_sys/vfs/vfs_cached.h file_sys/vfs/vfs_concat.cpp file_sys/vfs/vfs_concat.h file_sys/vfs/vfs_layered.cpp file_sys/vfs/vfs_layered.h file_sys/vfs/vfs_offset.cpp file_sys/vfs/vfs_offset.h file_sys/vfs/vfs_real.cpp file_sys/vfs/vfs_real.h file_sys/vfs/vfs_static.h file_sys/vfs/vfs_types.h file_sys/vfs/vfs_vector.cpp file_sys/vfs/vfs_vector.h file_sys/xts_archive.cpp file_sys/xts_archive.h frontend/applets/cabinet.cpp frontend/applets/cabinet.h frontend/applets/controller.cpp frontend/applets/controller.h frontend/applets/error.cpp frontend/applets/error.h frontend/applets/general.cpp frontend/applets/general.h frontend/applets/mii_edit.cpp frontend/applets/mii_edit.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/graphics_context.h hle/api_version.h hle/ipc.h hle/kernel/board/nintendo/nx/k_memory_layout.cpp hle/kernel/board/nintendo/nx/k_memory_layout.h hle/kernel/board/nintendo/nx/k_system_control.cpp hle/kernel/board/nintendo/nx/k_system_control.h hle/kernel/board/nintendo/nx/secure_monitor.h hle/kernel/code_set.cpp hle/kernel/code_set.h hle/kernel/global_scheduler_context.cpp hle/kernel/global_scheduler_context.h hle/kernel/init/init_slab_setup.cpp hle/kernel/init/init_slab_setup.h hle/kernel/initial_process.h hle/kernel/k_address_arbiter.cpp hle/kernel/k_address_arbiter.h hle/kernel/k_address_space_info.cpp hle/kernel/k_address_space_info.h hle/kernel/k_affinity_mask.h hle/kernel/k_auto_object.cpp hle/kernel/k_auto_object.h hle/kernel/k_auto_object_container.cpp hle/kernel/k_auto_object_container.h hle/kernel/k_capabilities.cpp hle/kernel/k_capabilities.h hle/kernel/k_class_token.cpp hle/kernel/k_class_token.h hle/kernel/k_client_port.cpp hle/kernel/k_client_port.h hle/kernel/k_client_session.cpp hle/kernel/k_client_session.h hle/kernel/k_code_memory.cpp hle/kernel/k_code_memory.h hle/kernel/k_condition_variable.cpp hle/kernel/k_condition_variable.h hle/kernel/k_debug.h hle/kernel/k_device_address_space.cpp hle/kernel/k_device_address_space.h hle/kernel/k_dynamic_page_manager.h hle/kernel/k_dynamic_resource_manager.h hle/kernel/k_dynamic_slab_heap.h hle/kernel/k_event.cpp hle/kernel/k_event.h hle/kernel/k_event_info.h hle/kernel/k_handle_table.cpp hle/kernel/k_handle_table.h hle/kernel/k_hardware_timer.cpp hle/kernel/k_hardware_timer.h hle/kernel/k_hardware_timer_base.h hle/kernel/k_interrupt_manager.cpp hle/kernel/k_interrupt_manager.h hle/kernel/k_light_client_session.cpp hle/kernel/k_light_client_session.h hle/kernel/k_light_condition_variable.cpp hle/kernel/k_light_condition_variable.h hle/kernel/k_light_lock.cpp hle/kernel/k_light_lock.h hle/kernel/k_light_server_session.cpp hle/kernel/k_light_server_session.h hle/kernel/k_light_session.cpp hle/kernel/k_light_session.h hle/kernel/k_memory_block.h hle/kernel/k_memory_block_manager.cpp hle/kernel/k_memory_block_manager.h hle/kernel/k_memory_layout.cpp hle/kernel/k_memory_layout.h hle/kernel/k_memory_manager.cpp hle/kernel/k_memory_manager.h hle/kernel/k_memory_region.h hle/kernel/k_memory_region_type.h hle/kernel/k_object_name.cpp hle/kernel/k_object_name.h hle/kernel/k_page_bitmap.h hle/kernel/k_page_buffer.cpp hle/kernel/k_page_buffer.h hle/kernel/k_page_group.cpp hle/kernel/k_page_group.h hle/kernel/k_page_heap.cpp hle/kernel/k_page_heap.h hle/kernel/k_page_table.h hle/kernel/k_page_table_base.cpp hle/kernel/k_page_table_base.h hle/kernel/k_page_table_manager.h hle/kernel/k_page_table_slab_heap.h hle/kernel/k_port.cpp hle/kernel/k_port.h hle/kernel/k_priority_queue.h hle/kernel/k_process.cpp hle/kernel/k_process.h hle/kernel/k_process_page_table.h hle/kernel/k_readable_event.cpp hle/kernel/k_readable_event.h hle/kernel/k_resource_limit.cpp hle/kernel/k_resource_limit.h hle/kernel/k_scheduler.cpp hle/kernel/k_scheduler.h hle/kernel/k_scheduler_lock.h hle/kernel/k_scoped_lock.h hle/kernel/k_scoped_resource_reservation.h hle/kernel/k_scoped_scheduler_lock_and_sleep.h hle/kernel/k_server_port.cpp hle/kernel/k_server_port.h hle/kernel/k_server_session.cpp hle/kernel/k_server_session.h hle/kernel/k_session.cpp hle/kernel/k_session.h hle/kernel/k_session_request.cpp hle/kernel/k_session_request.h hle/kernel/k_shared_memory.cpp hle/kernel/k_shared_memory.h hle/kernel/k_shared_memory_info.h hle/kernel/k_slab_heap.h hle/kernel/k_spin_lock.cpp hle/kernel/k_spin_lock.h hle/kernel/k_synchronization_object.cpp hle/kernel/k_synchronization_object.h hle/kernel/k_system_control.h hle/kernel/k_system_resource.cpp hle/kernel/k_system_resource.h hle/kernel/k_thread.cpp hle/kernel/k_thread.h hle/kernel/k_thread_local_page.cpp hle/kernel/k_thread_local_page.h hle/kernel/k_thread_queue.cpp hle/kernel/k_thread_queue.h hle/kernel/k_timer_task.h hle/kernel/k_trace.h hle/kernel/k_transfer_memory.cpp hle/kernel/k_transfer_memory.h hle/kernel/k_typed_address.h hle/kernel/k_worker_task.h hle/kernel/k_worker_task_manager.cpp hle/kernel/k_worker_task_manager.h hle/kernel/kernel.cpp hle/kernel/kernel.h hle/kernel/memory_types.h hle/kernel/message_buffer.h hle/kernel/physical_core.cpp hle/kernel/physical_core.h hle/kernel/physical_memory.h hle/kernel/slab_helpers.h hle/kernel/svc.cpp hle/kernel/svc.h hle/kernel/svc/svc_activity.cpp hle/kernel/svc/svc_address_arbiter.cpp hle/kernel/svc/svc_address_translation.cpp hle/kernel/svc/svc_cache.cpp hle/kernel/svc/svc_code_memory.cpp hle/kernel/svc/svc_condition_variable.cpp hle/kernel/svc/svc_debug.cpp hle/kernel/svc/svc_debug_string.cpp hle/kernel/svc/svc_device_address_space.cpp hle/kernel/svc/svc_event.cpp hle/kernel/svc/svc_exception.cpp hle/kernel/svc/svc_info.cpp hle/kernel/svc/svc_insecure_memory.cpp hle/kernel/svc/svc_interrupt_event.cpp hle/kernel/svc/svc_io_pool.cpp hle/kernel/svc/svc_ipc.cpp hle/kernel/svc/svc_kernel_debug.cpp hle/kernel/svc/svc_light_ipc.cpp hle/kernel/svc/svc_lock.cpp hle/kernel/svc/svc_memory.cpp hle/kernel/svc/svc_physical_memory.cpp hle/kernel/svc/svc_port.cpp hle/kernel/svc/svc_power_management.cpp hle/kernel/svc/svc_process.cpp hle/kernel/svc/svc_process_memory.cpp hle/kernel/svc/svc_processor.cpp hle/kernel/svc/svc_query_memory.cpp hle/kernel/svc/svc_register.cpp hle/kernel/svc/svc_resource_limit.cpp hle/kernel/svc/svc_secure_monitor_call.cpp hle/kernel/svc/svc_session.cpp hle/kernel/svc/svc_shared_memory.cpp hle/kernel/svc/svc_synchronization.cpp hle/kernel/svc/svc_thread.cpp hle/kernel/svc/svc_thread_profiler.cpp hle/kernel/svc/svc_tick.cpp hle/kernel/svc/svc_transfer_memory.cpp hle/kernel/svc_common.h hle/kernel/svc_results.h hle/kernel/svc_types.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/async_context.cpp hle/service/acc/async_context.h hle/service/acc/errors.h hle/service/acc/profile_manager.cpp hle/service/acc/profile_manager.h hle/service/am/frontend/applet_cabinet.cpp hle/service/am/frontend/applet_cabinet.h hle/service/am/frontend/applet_controller.cpp hle/service/am/frontend/applet_controller.h hle/service/am/frontend/applet_error.cpp hle/service/am/frontend/applet_error.h hle/service/am/frontend/applet_general.cpp hle/service/am/frontend/applet_general.h hle/service/am/frontend/applet_mii_edit.cpp hle/service/am/frontend/applet_mii_edit.h hle/service/am/frontend/applet_mii_edit_types.h hle/service/am/frontend/applet_profile_select.cpp hle/service/am/frontend/applet_profile_select.h hle/service/am/frontend/applet_software_keyboard.cpp hle/service/am/frontend/applet_software_keyboard.h hle/service/am/frontend/applet_software_keyboard_types.h hle/service/am/frontend/applet_web_browser.cpp hle/service/am/frontend/applet_web_browser.h hle/service/am/frontend/applet_web_browser_types.h hle/service/am/frontend/applets.cpp hle/service/am/frontend/applets.h hle/service/am/am.cpp hle/service/am/am.h hle/service/am/am_results.h hle/service/am/am_types.h hle/service/am/applet.cpp hle/service/am/applet.h hle/service/am/applet_manager.cpp hle/service/am/applet_data_broker.cpp hle/service/am/applet_data_broker.h hle/service/am/applet_manager.h hle/service/am/applet_message_queue.cpp hle/service/am/applet_message_queue.h hle/service/am/application_creator.cpp hle/service/am/application_creator.h hle/service/am/hid_registration.cpp hle/service/am/hid_registration.h hle/service/am/idle.cpp hle/service/am/idle.h hle/service/am/library_applet_storage.cpp hle/service/am/library_applet_storage.h hle/service/am/lock_accessor.cpp hle/service/am/lock_accessor.h hle/service/am/managed_layer_holder.cpp hle/service/am/managed_layer_holder.h hle/service/am/omm.cpp hle/service/am/omm.h hle/service/am/process.cpp hle/service/am/process.h hle/service/am/service/all_system_applet_proxies_service.cpp hle/service/am/service/all_system_applet_proxies_service.h hle/service/am/service/applet_common_functions.cpp hle/service/am/service/applet_common_functions.h hle/service/am/service/application_functions.cpp hle/service/am/service/application_functions.h hle/service/am/service/application_proxy_service.cpp hle/service/am/service/application_proxy_service.h hle/service/am/service/application_proxy.cpp hle/service/am/service/application_proxy.h hle/service/am/service/audio_controller.cpp hle/service/am/service/audio_controller.h hle/service/am/service/common_state_getter.cpp hle/service/am/service/common_state_getter.h hle/service/am/service/cradle_firmware_updater.cpp hle/service/am/service/cradle_firmware_updater.h hle/service/am/service/debug_functions.cpp hle/service/am/service/debug_functions.h hle/service/am/service/display_controller.cpp hle/service/am/service/display_controller.h hle/service/am/service/global_state_controller.cpp hle/service/am/service/global_state_controller.h hle/service/am/service/home_menu_functions.cpp hle/service/am/service/home_menu_functions.h hle/service/am/service/library_applet_accessor.cpp hle/service/am/service/library_applet_accessor.h hle/service/am/service/library_applet_creator.cpp hle/service/am/service/library_applet_creator.h hle/service/am/service/library_applet_proxy.cpp hle/service/am/service/library_applet_proxy.h hle/service/am/service/library_applet_self_accessor.cpp hle/service/am/service/library_applet_self_accessor.h hle/service/am/service/process_winding_controller.cpp hle/service/am/service/process_winding_controller.h hle/service/am/service/self_controller.cpp hle/service/am/service/self_controller.h hle/service/am/service/storage_accessor.cpp hle/service/am/service/storage_accessor.h hle/service/am/service/storage.cpp hle/service/am/service/storage.h hle/service/am/service/system_applet_proxy.cpp hle/service/am/service/system_applet_proxy.h hle/service/am/system_buffer_manager.cpp hle/service/am/system_buffer_manager.h hle/service/am/spsm.cpp hle/service/am/spsm.h hle/service/am/window_controller.cpp hle/service/am/window_controller.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/apm_controller.cpp hle/service/apm/apm_controller.h hle/service/apm/apm_interface.cpp hle/service/apm/apm_interface.h hle/service/audio/audctl.cpp hle/service/audio/audctl.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_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_u.cpp hle/service/audio/audren_u.h hle/service/audio/errors.h hle/service/audio/hwopus.cpp hle/service/audio/hwopus.h hle/service/bcat/backend/backend.cpp hle/service/bcat/backend/backend.h hle/service/bcat/news/newly_arrived_event_holder.cpp hle/service/bcat/news/newly_arrived_event_holder.h hle/service/bcat/news/news_data_service.cpp hle/service/bcat/news/news_data_service.h hle/service/bcat/news/news_database_service.cpp hle/service/bcat/news/news_database_service.h hle/service/bcat/news/news_service.cpp hle/service/bcat/news/news_service.h hle/service/bcat/news/overwrite_event_holder.cpp hle/service/bcat/news/overwrite_event_holder.h hle/service/bcat/news/service_creator.cpp hle/service/bcat/news/service_creator.h hle/service/bcat/bcat.cpp hle/service/bcat/bcat.h hle/service/bcat/bcat_result.h hle/service/bcat/bcat_service.cpp hle/service/bcat/bcat_service.h hle/service/bcat/bcat_types.h hle/service/bcat/bcat_util.h hle/service/bcat/delivery_cache_directory_service.cpp hle/service/bcat/delivery_cache_directory_service.h hle/service/bcat/delivery_cache_file_service.cpp hle/service/bcat/delivery_cache_file_service.h hle/service/bcat/delivery_cache_progress_service.cpp hle/service/bcat/delivery_cache_progress_service.h hle/service/bcat/delivery_cache_storage_service.cpp hle/service/bcat/delivery_cache_storage_service.h hle/service/bcat/service_creator.cpp hle/service/bcat/service_creator.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/caps/caps_a.cpp hle/service/caps/caps_a.h hle/service/caps/caps_c.cpp hle/service/caps/caps_c.h hle/service/caps/caps_manager.cpp hle/service/caps/caps_manager.h hle/service/caps/caps_result.h hle/service/caps/caps_sc.cpp hle/service/caps/caps_sc.h hle/service/caps/caps_ss.cpp hle/service/caps/caps_ss.h hle/service/caps/caps_su.cpp hle/service/caps/caps_su.h hle/service/caps/caps_types.h hle/service/caps/caps_u.cpp hle/service/caps/caps_u.h hle/service/cmif_serialization.h hle/service/cmif_types.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/fgm/fgm.cpp hle/service/fgm/fgm.h hle/service/filesystem/filesystem.cpp hle/service/filesystem/filesystem.h hle/service/filesystem/fsp/fs_i_directory.cpp hle/service/filesystem/fsp/fs_i_directory.h hle/service/filesystem/fsp/fs_i_file.cpp hle/service/filesystem/fsp/fs_i_file.h hle/service/filesystem/fsp/fs_i_filesystem.cpp hle/service/filesystem/fsp/fs_i_filesystem.h hle/service/filesystem/fsp/fs_i_storage.cpp hle/service/filesystem/fsp/fs_i_storage.h hle/service/filesystem/fsp/fsp_ldr.cpp hle/service/filesystem/fsp/fsp_ldr.h hle/service/filesystem/fsp/fsp_pr.cpp hle/service/filesystem/fsp/fsp_pr.h hle/service/filesystem/fsp/fsp_srv.cpp hle/service/filesystem/fsp/fsp_srv.h hle/service/filesystem/fsp/fsp_util.h hle/service/filesystem/romfs_controller.cpp hle/service/filesystem/romfs_controller.h hle/service/filesystem/save_data_controller.cpp hle/service/filesystem/save_data_controller.h hle/service/fgm/fgm.cpp hle/service/fgm/fgm.h hle/service/friend/friend.cpp hle/service/friend/friend.h hle/service/friend/friend_interface.cpp hle/service/friend/friend_interface.h hle/service/glue/arp.cpp hle/service/glue/arp.h hle/service/glue/bgtc.cpp hle/service/glue/bgtc.h hle/service/glue/ectx.cpp hle/service/glue/ectx.h hle/service/glue/errors.h hle/service/glue/glue.cpp hle/service/glue/glue.h hle/service/glue/glue_manager.cpp hle/service/glue/glue_manager.h hle/service/glue/notif.cpp hle/service/glue/notif.h hle/service/glue/time/alarm_worker.cpp hle/service/glue/time/alarm_worker.h hle/service/glue/time/file_timestamp_worker.cpp hle/service/glue/time/file_timestamp_worker.h hle/service/glue/time/manager.cpp hle/service/glue/time/manager.h hle/service/glue/time/pm_state_change_handler.cpp hle/service/glue/time/pm_state_change_handler.h hle/service/glue/time/standard_steady_clock_resource.cpp hle/service/glue/time/standard_steady_clock_resource.h hle/service/glue/time/static.cpp hle/service/glue/time/static.h hle/service/glue/time/time_zone.cpp hle/service/glue/time/time_zone.h hle/service/glue/time/time_zone_binary.cpp hle/service/glue/time/time_zone_binary.h hle/service/glue/time/worker.cpp hle/service/glue/time/worker.h hle/service/grc/grc.cpp hle/service/grc/grc.h hle/service/hid/hid.cpp hle/service/hid/hid.h hle/service/hid/hid_debug_server.cpp hle/service/hid/hid_debug_server.h hle/service/hid/hid_server.cpp hle/service/hid/hid_server.h hle/service/hid/hid_system_server.cpp hle/service/hid/hid_system_server.h hle/service/hid/hidbus.cpp hle/service/hid/hidbus.h hle/service/hid/irs.cpp hle/service/hid/irs.h hle/service/hid/xcd.cpp hle/service/hid/xcd.h hle/service/hle_ipc.cpp hle/service/hle_ipc.h hle/service/ipc_helpers.h hle/service/kernel_helpers.cpp hle/service/kernel_helpers.h hle/service/lbl/lbl.cpp hle/service/lbl/lbl.h hle/service/ldn/lan_discovery.cpp hle/service/ldn/lan_discovery.h hle/service/ldn/ldn.cpp hle/service/ldn/ldn.h hle/service/ldn/ldn_results.h hle/service/ldn/ldn_types.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/mii/mii_database.cpp hle/service/mii/mii_database.h hle/service/mii/mii_database_manager.cpp hle/service/mii/mii_database_manager.h hle/service/mii/mii_manager.cpp hle/service/mii/mii_manager.h hle/service/mii/mii_result.h hle/service/mii/mii_types.h hle/service/mii/mii_util.h hle/service/mii/types/char_info.cpp hle/service/mii/types/char_info.h hle/service/mii/types/core_data.cpp hle/service/mii/types/core_data.h hle/service/mii/types/raw_data.cpp hle/service/mii/types/raw_data.h hle/service/mii/types/store_data.cpp hle/service/mii/types/store_data.h hle/service/mii/types/ver3_store_data.cpp hle/service/mii/types/ver3_store_data.h hle/service/mm/mm_u.cpp hle/service/mm/mm_u.h hle/service/mnpp/mnpp_app.cpp hle/service/mnpp/mnpp_app.h hle/service/ncm/ncm.cpp hle/service/ncm/ncm.h hle/service/nfc/common/amiibo_crypto.cpp hle/service/nfc/common/amiibo_crypto.h hle/service/nfc/common/device.cpp hle/service/nfc/common/device.h hle/service/nfc/common/device_manager.cpp hle/service/nfc/common/device_manager.h hle/service/nfc/mifare_result.h hle/service/nfc/mifare_types.h hle/service/nfc/nfc.cpp hle/service/nfc/nfc.h hle/service/nfc/nfc_interface.cpp hle/service/nfc/nfc_interface.h hle/service/nfc/nfc_result.h hle/service/nfc/nfc_types.h hle/service/nfp/nfp.cpp hle/service/nfp/nfp.h hle/service/nfp/nfp_interface.cpp hle/service/nfp/nfp_interface.h hle/service/nfp/nfp_result.h hle/service/nfp/nfp_types.h hle/service/ngc/ngc.cpp hle/service/ngc/ngc.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/errors.h hle/service/ns/iplatform_service_manager.cpp hle/service/ns/iplatform_service_manager.h hle/service/ns/language.cpp hle/service/ns/language.h hle/service/ns/ns.cpp hle/service/ns/ns.h hle/service/ns/pdm_qry.cpp hle/service/ns/pdm_qry.h hle/service/nvdrv/core/container.cpp hle/service/nvdrv/core/container.h hle/service/nvdrv/core/heap_mapper.cpp hle/service/nvdrv/core/heap_mapper.h hle/service/nvdrv/core/nvmap.cpp hle/service/nvdrv/core/nvmap.h hle/service/nvdrv/core/syncpoint_manager.cpp hle/service/nvdrv/core/syncpoint_manager.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_nvdec_common.cpp hle/service/nvdrv/devices/nvhost_nvdec_common.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/nvdata.h hle/service/nvdrv/nvdrv.cpp hle/service/nvdrv/nvdrv.h hle/service/nvdrv/nvdrv_interface.cpp hle/service/nvdrv/nvdrv_interface.h hle/service/nvdrv/nvmemp.cpp hle/service/nvdrv/nvmemp.h hle/service/nvnflinger/binder.h hle/service/nvnflinger/buffer_item.h hle/service/nvnflinger/buffer_item_consumer.cpp hle/service/nvnflinger/buffer_item_consumer.h hle/service/nvnflinger/buffer_queue_consumer.cpp hle/service/nvnflinger/buffer_queue_consumer.h hle/service/nvnflinger/buffer_queue_core.cpp hle/service/nvnflinger/buffer_queue_core.h hle/service/nvnflinger/buffer_queue_defs.h hle/service/nvnflinger/buffer_queue_producer.cpp hle/service/nvnflinger/buffer_queue_producer.h hle/service/nvnflinger/buffer_slot.h hle/service/nvnflinger/buffer_transform_flags.h hle/service/nvnflinger/consumer_base.cpp hle/service/nvnflinger/consumer_base.h hle/service/nvnflinger/consumer_listener.h hle/service/nvnflinger/fb_share_buffer_manager.cpp hle/service/nvnflinger/fb_share_buffer_manager.h hle/service/nvnflinger/graphic_buffer_producer.cpp hle/service/nvnflinger/graphic_buffer_producer.h hle/service/nvnflinger/hos_binder_driver_server.cpp hle/service/nvnflinger/hos_binder_driver_server.h hle/service/nvnflinger/hardware_composer.cpp hle/service/nvnflinger/hardware_composer.h hle/service/nvnflinger/hwc_layer.h hle/service/nvnflinger/nvnflinger.cpp hle/service/nvnflinger/nvnflinger.h hle/service/nvnflinger/parcel.h hle/service/nvnflinger/pixel_format.h hle/service/nvnflinger/producer_listener.h hle/service/nvnflinger/status.h hle/service/nvnflinger/ui/fence.h hle/service/nvnflinger/ui/graphic_buffer.cpp hle/service/nvnflinger/ui/graphic_buffer.h hle/service/nvnflinger/window.h hle/service/olsc/olsc.cpp hle/service/olsc/olsc.h hle/service/os/event.cpp hle/service/os/event.h hle/service/os/multi_wait_holder.cpp hle/service/os/multi_wait_holder.h hle/service/os/multi_wait_utils.h hle/service/os/multi_wait.cpp hle/service/os/multi_wait.h hle/service/os/mutex.cpp hle/service/os/mutex.h hle/service/pcie/pcie.cpp hle/service/pcie/pcie.h hle/service/pctl/pctl.cpp hle/service/pctl/pctl.h hle/service/pctl/pctl_module.cpp hle/service/pctl/pctl_module.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/psc/time/alarms.cpp hle/service/psc/time/alarms.h hle/service/psc/time/clocks/context_writers.cpp hle/service/psc/time/clocks/context_writers.h hle/service/psc/time/clocks/ephemeral_network_system_clock_core.h hle/service/psc/time/clocks/standard_local_system_clock_core.cpp hle/service/psc/time/clocks/standard_local_system_clock_core.h hle/service/psc/time/clocks/standard_network_system_clock_core.cpp hle/service/psc/time/clocks/standard_network_system_clock_core.h hle/service/psc/time/clocks/standard_steady_clock_core.cpp hle/service/psc/time/clocks/standard_steady_clock_core.h hle/service/psc/time/clocks/standard_user_system_clock_core.cpp hle/service/psc/time/clocks/standard_user_system_clock_core.h hle/service/psc/time/clocks/steady_clock_core.h hle/service/psc/time/clocks/system_clock_core.cpp hle/service/psc/time/clocks/system_clock_core.h hle/service/psc/time/clocks/tick_based_steady_clock_core.cpp hle/service/psc/time/clocks/tick_based_steady_clock_core.h hle/service/psc/time/common.cpp hle/service/psc/time/common.h hle/service/psc/time/errors.h hle/service/psc/time/shared_memory.cpp hle/service/psc/time/shared_memory.h hle/service/psc/time/static.cpp hle/service/psc/time/static.h hle/service/psc/time/manager.h hle/service/psc/time/power_state_service.cpp hle/service/psc/time/power_state_service.h hle/service/psc/time/service_manager.cpp hle/service/psc/time/service_manager.h hle/service/psc/time/steady_clock.cpp hle/service/psc/time/steady_clock.h hle/service/psc/time/system_clock.cpp hle/service/psc/time/system_clock.h hle/service/psc/time/time_zone.cpp hle/service/psc/time/time_zone.h hle/service/psc/time/time_zone_service.cpp hle/service/psc/time/time_zone_service.h hle/service/psc/time/power_state_request_manager.cpp hle/service/psc/time/power_state_request_manager.h hle/service/ptm/psm.cpp hle/service/ptm/psm.h hle/service/ptm/ptm.cpp hle/service/ptm/ptm.h hle/service/ptm/ts.cpp hle/service/ptm/ts.h hle/service/ro/ro.cpp hle/service/ro/ro.h hle/service/ro/ro_nro_utils.cpp hle/service/ro/ro_nro_utils.h hle/service/ro/ro_results.h hle/service/ro/ro_types.h hle/service/server_manager.cpp hle/service/server_manager.h hle/service/service.cpp hle/service/service.h hle/service/set/setting_formats/appln_settings.cpp hle/service/set/setting_formats/appln_settings.h hle/service/set/setting_formats/device_settings.cpp hle/service/set/setting_formats/device_settings.h hle/service/set/setting_formats/system_settings.cpp hle/service/set/setting_formats/system_settings.h hle/service/set/setting_formats/private_settings.cpp hle/service/set/setting_formats/private_settings.h hle/service/set/factory_settings_server.cpp hle/service/set/factory_settings_server.h hle/service/set/firmware_debug_settings_server.cpp hle/service/set/firmware_debug_settings_server.h hle/service/set/settings.cpp hle/service/set/settings.h hle/service/set/settings_server.cpp hle/service/set/settings_server.h hle/service/set/settings_types.h hle/service/set/system_settings_server.cpp hle/service/set/system_settings_server.h hle/service/sm/sm.cpp hle/service/sm/sm.h hle/service/sm/sm_controller.cpp hle/service/sm/sm_controller.h hle/service/sockets/bsd.cpp hle/service/sockets/bsd.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/sockets/sockets_translate.cpp hle/service/sockets/sockets_translate.h hle/service/spl/csrng.cpp hle/service/spl/csrng.h hle/service/spl/spl.cpp hle/service/spl/spl.h hle/service/spl/spl_module.cpp hle/service/spl/spl_module.h hle/service/spl/spl_results.h hle/service/spl/spl_types.h hle/service/ssl/ssl.cpp hle/service/ssl/ssl.h hle/service/ssl/ssl_backend.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 internal_network/network.cpp internal_network/network.h internal_network/network_interface.cpp internal_network/network_interface.h internal_network/socket_proxy.cpp internal_network/socket_proxy.h internal_network/sockets.h loader/deconstructed_rom_directory.cpp loader/deconstructed_rom_directory.h loader/kip.cpp loader/kip.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/cheat_engine.cpp memory/cheat_engine.h memory/dmnt_cheat_types.h memory/dmnt_cheat_vm.cpp memory/dmnt_cheat_vm.h perf_stats.cpp perf_stats.h precompiled_headers.h reporter.cpp reporter.h telemetry_session.cpp telemetry_session.h tools/freezer.cpp tools/freezer.h tools/renderdoc.cpp tools/renderdoc.h ) if (MSVC) target_compile_options(core PRIVATE /we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data /we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data /we4245 # 'conversion': conversion from 'type1' to 'type2', signed/unsigned mismatch /we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data /we4800 # Implicit conversion from 'type' to bool. Possible information loss ) else() target_compile_options(core PRIVATE -Werror=conversion -Wno-sign-conversion -Wno-cast-function-type $<$:-fsized-deallocation> ) endif() target_link_libraries(core PUBLIC common PRIVATE audio_core hid_core network video_core nx_tzdb tz) target_link_libraries(core PUBLIC Boost::headers PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls RenderDoc::API) if (MINGW) target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY}) endif() if (ENABLE_WEB_SERVICE) target_compile_definitions(core PRIVATE -DENABLE_WEB_SERVICE) target_link_libraries(core PRIVATE web_service) endif() if (HAS_NCE) enable_language(C ASM) set(CMAKE_ASM_FLAGS "${CFLAGS} -x assembler-with-cpp") target_sources(core PRIVATE arm/nce/arm_nce_asm_definitions.h arm/nce/arm_nce.cpp arm/nce/arm_nce.h arm/nce/arm_nce.s arm/nce/guest_context.h arm/nce/instructions.h arm/nce/interpreter_visitor.cpp arm/nce/interpreter_visitor.h arm/nce/patcher.cpp arm/nce/patcher.h arm/nce/visitor_base.h ) target_link_libraries(core PRIVATE merry::mcl merry::oaknut) endif() if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) target_sources(core PRIVATE arm/dynarmic/arm_dynarmic.cpp arm/dynarmic/arm_dynarmic.h arm/dynarmic/arm_dynarmic_64.cpp arm/dynarmic/arm_dynarmic_64.h arm/dynarmic/arm_dynarmic_32.cpp arm/dynarmic/arm_dynarmic_32.h arm/dynarmic/dynarmic_cp15.cpp arm/dynarmic/dynarmic_cp15.h arm/dynarmic/dynarmic_exclusive_monitor.cpp arm/dynarmic/dynarmic_exclusive_monitor.h hle/service/jit/jit_code_memory.cpp hle/service/jit/jit_code_memory.h hle/service/jit/jit_context.cpp hle/service/jit/jit_context.h hle/service/jit/jit.cpp hle/service/jit/jit.h ) target_link_libraries(core PRIVATE dynarmic::dynarmic) endif() if(ENABLE_OPENSSL) target_sources(core PRIVATE hle/service/ssl/ssl_backend_openssl.cpp) target_link_libraries(core PRIVATE OpenSSL::SSL) elseif (APPLE) target_sources(core PRIVATE hle/service/ssl/ssl_backend_securetransport.cpp) target_link_libraries(core PRIVATE "-framework Security") elseif (WIN32) target_sources(core PRIVATE hle/service/ssl/ssl_backend_schannel.cpp) target_link_libraries(core PRIVATE crypt32 secur32) else() target_sources(core PRIVATE hle/service/ssl/ssl_backend_none.cpp) endif() if (YUZU_USE_PRECOMPILED_HEADERS) target_precompile_headers(core PRIVATE precompiled_headers.h) endif() if (YUZU_ENABLE_LTO) set_property(TARGET core PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) endif() create_target_directory_groups(core)